• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Uzunca bir metnin içindeki belli bir kelimeden sonrasını alt satıra almak

Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
Değerli üstatlar ve yardımsever forum üyeleri merhaba,

Yekpare şekilde upuzun bir cümle var. Bu cümle ardarda sıralanmış websitesi url'lerinden oluşuyor. Cümle içindeki her "https" ile başlayan satırı bir alt satıra almak istiyorum.

Örneklendirmek istersem eğer şu aşağıdaki cümleyi excelin satır satır ayrımasını istiyorum. (Bendeki cümle bunun 10 katı uzunluğunda.)

https://www.abnc.com.tr/ https://www.xyz.com/tr-tr/zam/enflasyon/profil/ https://www.excel.com/tr-tr/formul/

Yazacağımız bir formül ile https ile başlayanlar parçalara ayrılsın, satır satır.

https://www.abnc.com.tr/
https://www.xyz.com/tr-tr/zam/enflasyon/profil/
https://www.excel.com/tr-tr/formul/

Mümkünse formül ile yapalım eğer zor görünüyorsa makro koduda işimizi görür.

Şimdiden okuyan, yardım etmek isteyen, yardım eden herkese teşekkürler.
 
Örneğinize uygun olarak formülü ayarladım. Ekteki dosyadan görebilirsiniz.
A1 hücresine metni kopyalayıp, alltaki ve B sütunundaki formülleri aşağıya doğru kopyalayın..

Örnek Dosya
 
Merhaba, öncelikle teşekkür ederim.

Benim cümlem 19.000 küsür karaktere sahip ve A2'deki formülü uyguladığımda #Value! hatası alıyorum.
 
B1 hücresine

Kod:
="https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255))

yazıp aşağıda doğru çekiniz.

Eğer parçalama işlemi bittiğinde boş olan hücrelerde https görünmesin derseniz.

Kod:
=EĞER(UZUNLUK("https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))=5;"";"https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))

yazıp aşağıda doğru çekiniz.
 
Kod:
Sub regexp_URL()
    al = [a1]
    With CreateObject("VBScript.RegExp")
        .Pattern = "(www|http:|https:)+[^\s]+"
        .Global = True
        .IgnoreCase = True
        If .test(al) Then
            For Each Match In .Execute(al)
                sat = sat + 1
                Cells(sat, 2) = Match.Value
            Next Match
        End If
    End With
End
Kod:
Sub test()
    al = [a1]
    For Each bl In Split(al, " ")
        sat = sat + 1
        Cells(sat, 3) = bl
    Next bl
End Sub
 
B1 hücresine

Kod:
="https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255))

yazıp aşağıda doğru çekiniz.

Eğer parçalama işlemi bittiğinde boş olan hücrelerde https görünmesin derseniz.

Kod:
=EĞER(UZUNLUK("https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))=5;"";"https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))

yazıp aşağıda doğru çekiniz.

Selamlar
Ali hocam
burada ki 255 sayıları formülde ne işe yarıyor açıklamanız mümkün mü?
Kısaca neden 255

Saygılar
 
Ali hocam teşekkürler

Saygılar
 
Rica ederim. Benim hazırladığımda niye öyle hata verdi gerçek verileri görmeden bir şey söyleyemem.

Sayın Ali bey'in formülü daha kısa ve etkili.. Onu deneyin isterseniz.

Merhaba, öncelikle teşekkür ederim.

Benim cümlem 19.000 küsür karaktere sahip ve A2'deki formülü uyguladığımda #Value! hatası alıyorum.
 
B1 hücresine

Kod:
="https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255))

yazıp aşağıda doğru çekiniz.

Eğer parçalama işlemi bittiğinde boş olan hücrelerde https görünmesin derseniz.

Kod:
=EĞER(UZUNLUK("https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))=5;"";"https"&KIRP(PARÇAAL(YERİNEKOY("https"&$A$1;"https";YİNELE(" ";255));SATIRSAY($B$1:B2)*255;255)))

yazıp aşağıda doğru çekiniz.
Merhabalar,
Teşekkür ederim. Benim excel ingilizce, formülü aşağıdaki şekilde çevirdim ama gene Value hatası alıyorum. Neden bu hatayı alıyorum anlayamadım.

="https"&TRIM(MID(SUBSTITUTE("https"&$A$1;"https";REPT(" ";255));ROWS($B$1:B2)*255;255))
 
Sanırım gerçek verilerinizde formülle uyuşmayan durumlar var. Gerçek verilerinizi eklerseniz, duruma göre bir çözüm yapılabilir belkide.

Merhabalar,
Teşekkür ederim. Benim excel ingilizce, formülü aşağıdaki şekilde çevirdim ama gene Value hatası alıyorum. Neden bu hatayı alıyorum anlayamadım.

="https"&TRIM(MID(SUBSTITUTE("https"&$A$1;"https";REPT(" ";255));ROWS($B$1:B2)*255;255))
 
Merhaba, öncelikle teşekkür ederim.

Benim cümlem 19.000 küsür karaktere sahip ve A2'deki formülü uyguladığımda #Value! hatası alıyorum.

19000 küsur karaktere sahip bir hücrede 30 karakterden olsa ortalama 633 tane url vardır.
her https yi 255 tane boşlukla değiştireceksiniz, 633*(255+30)=180405 karakterle 633 satırda işlem yapacaksınız,
 
Yardım etmek isteyen herkese teker teker özel teşekkürlerimi sunarım.

Ne yazık ki benim dosyamda formüller ve makro çalışmadı. Şirketin belgesi olduğundan ötürü paylaşmam çok uygun olmaz.

Sağlık olsun.

Sağolun, varolun.
 
Selam. Sitenizde yeniyim kusura bakmayın.
Word'den anlıyorum biraz ama "Değiştir" komutu ile yapamadım. Aynı sorunu yaşıyorum. Belki excel'den bana yardımcı olabilirsiniz.
Bir duayı, time code'u hazır altyazı dosyasına kopyala yapıştır şeklinde yapıştırmak istiyorum Aegisub programı ile.
Dua metni şurada: https://tr.wikishia.net/view/Mucir_Duası
Ancak her "ey koruyan." dedikten sonra enter ile alt satıra geçilmiş olması lazım ki tek tuşla altyazıyı oluşturabileyim.
Kod:
ey koruyan.SPACE
yerine
Kod:
ey koruyan.
ENTER
olmasını istiyorum.
Yardımcı olur musunuz? Teşekkürler.
 
Geri
Üst