• DİKKAT

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

excelde alt satıra kaymış cümleleri birleştirme

Katılım
10 Aralık 2012
Mesajlar
303
Excel Vers. ve Dili
Ofis 365
parçalı bazı cümleleri birleştirme, bir cümle başından sonuna kadar tek satıra alınabilir mi? eğer satırdaki cümlenin sonunda noktalama işareti yoksa alttaki satırı yukarıdakiyle birleştirsin.

örnek dosyam aşağıda;
 
Son düzenleme:
EĞER(SAĞDAN(A1;1)=",";BİRLEŞTİR(A1;" ";A2);A1)&EĞER(SAĞDAN(A2;1)<>".";" "&A3;"") böyle bişey yaptım ama tam istediğim gibi olmadı epey bişeyler eksik gibi
 
Örnek dosyanızın sonuçta nasıl olması gerektiğini de gösterirseniz iyi olur. Bir de bunun daha önce yaptığımız dosyadan farkı nedir?
 
ilk konuma yazdım aslında ama konu pasif olduğu için görmediniz. aynı cümlelerin birleştirilmesini yeni cümlenin bi alt satırda olmasını istiyorum. aslında önceki eğer formülü başlıklı konumdaki formüle yedirirsek daha iyi olur
 
Son düzenleme:
Dosyanızda olması gereken son hali belirtmenizi istemiştim. Yani çözüm bulunduğunda dosyanız nasıl görünmeli?

Bu arada muhtemelen ben istediğinizi yapamam. Formülle olur mu bilmiyorum, olsa da ben yapamam maalesef. Makro ile de kesin çözülür diyemem. Beni aşan bir konu gibi duruyor.

Diğer konunuzu yanlışlıkla kilitlemiş olabilirsiniz. Kilidi kaldırıp konuyu devam ettirebilirsiniz.
 
Merhaba.

Aşağıdaki kod sanırım işinizi görür.
-- Kırmızı kısım satırbaşı yapmanın istisnası
(yani sonda ... varsa cümle bitmiş değil, birleştirmeye devam).
Eğer sonda ... varsa bu da cümle sonu olarak işlem görecekse, kırmızı kısmı silin.
-- Mavi kısımdaki kriterler ise cümle sonlarındaki muhtemel son karakterler
(yani birleştirme hücredeki son karakter . ? veya ! ise cümle bittiğinden birleştirmeyi durdur).

.
Kod:
[FONT="Arial Narrow"]Sub CÜMLE_BİRLEŞTİR()
If [C65536].End(3).Row > 1 Then Range("C:C").ClearContents
For satır = 1 To [B65536].End(3).Row
If Cells(satır, 2) = "" Then GoTo 10
metin = metin & " " & Cells(satır, 2)
If [COLOR="Red"]Right(metin, 3) <> "..." [B]And[/B][/COLOR] _
    [COLOR="Blue"]Right(metin, 1) = "." [B]Or [/B]Right(metin, 1) = "!" [B]Or [/B]Right(metin, 1) = "?" Then[/COLOR]
    Cells([C65536].End(3).Row + 1, 3) = Mid(metin, 2, Len(metin) - 1)
    metin = ""
End If
10: Next: MsgBox "BİTTİ"
End Sub[/FONT]
 
Merhaba.

Aşağıdaki kod sanırım işinizi görür.
-- Kırmızı kısım satırbaşı yapmanın istisnası
(yani sonda ... varsa cümle bitmiş değil, birleştirmeye devam).
Eğer sonda ... varsa bu da cümle sonu olarak işlem görecekse, kırmızı kısmı silin.
-- Mavi kısımdaki kriterler ise cümle sonlarındaki muhtemel son karakterler
(yani birleştirme hücredeki son karakter . ? veya ! ise cümle bittiğinden birleştirmeyi durdur).

.
Kod:
[FONT="Arial Narrow"]Sub CÜMLE_BİRLEŞTİR()
If [C65536].End(3).Row > 1 Then Range("C:C").ClearContents
For satır = 1 To [B65536].End(3).Row
If Cells(satır, 2) = "" Then GoTo 10
metin = metin & " " & Cells(satır, 2)
If [COLOR="Red"]Right(metin, 3) <> "..." [B]And[/B][/COLOR] _
    [COLOR="Blue"]Right(metin, 1) = "." [B]Or [/B]Right(metin, 1) = "!" [B]Or [/B]Right(metin, 1) = "?" Then[/COLOR]
    Cells([C65536].End(3).Row + 1, 3) = Mid(metin, 2, Len(metin) - 1)
    metin = ""
End If
10: Next: MsgBox "BİTTİ"
End Sub[/FONT]

tşk ederim süper olmuş
 
bu makroyu tek sekmede kullanmak istiyorum bunu nasıl yapacağım ve kitabı kapatınca makro siliniyor
 
Alt taraftan, uygulamayı kullanacağınız sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi
seçtiğinizde açılan VBA ekranının sağ tarafındaki boş alana yapıştırın.

Excel verisyonunuz 2010 olduğuna göre;
belgeyi "Makro İçerebilen Excel Çalışma Kitabı" olarak kaydetmelisiniz.
.
 
Geri
Üst