• DİKKAT

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

Alt+Enter hücrelerini ayrı satırlara yapıştırmak

Katılım
29 Mayıs 2012
Mesajlar
5
Excel Vers. ve Dili
2007 türkçe
Sayın Adminler;
Ekteki listede L kolonunda bulunan ve Alt+Enter ile geçilen değerleri ayrı ayrı satırlara yapıştırmak istiyoruz.
Bunu yaparken K Kolunundaki Değerlerin eklenen satır sayısı kadarar alanması ve birleştirilmesi gerekiyor.

bunu yapabileceğimiz bir makro veya komut varmıdır.

Yardımlarınız için şimdiden teşekkürler
 

Ekli dosyalar

Merhaba,

Sorunuzdan hiç bir şey anlamadım. Ayrı ayrı satırlara yapıştırmaktan kastınız nedir? başka bir sütuna mı yapıştıracaksınız, yoksa verileri Alt+Enter dan mı kurtarmak istiyorsunuz?

Dosyanızda olması gerekeni belirtirseniz anlaşılması daha kolay olacaktır.
 
Merhaba,

Sorunuzdan hiç bir şey anlamadım. Ayrı ayrı satırlara yapıştırmaktan kastınız nedir? başka bir sütuna mı yapıştıracaksınız, yoksa verileri Alt+Enter dan mı kurtarmak istiyorsunuz?

Dosyanızda olması gerekeni belirtirseniz anlaşılması daha kolay olacaktır.

Merhaba
Şöyle anlatayım daha açıklayıcı olur
L kolonundaki alt+Enter ile geçilen 4 adet satır var diyelim. Bunu 4 ayrı excel satırına yapıştırmak istiyoruz.

Ama sol taraftaki K satırının eklenen satır sayısı kadar karşılğa gelecek şekilde Birleştir ve ortala yapılması gerekiyor. bu olay en alt satıra kadar devam edecek
 
Merhaba
Şöyle anlatayım daha açıklayıcı olur
L kolonundaki alt+Enter ile geçilen 4 adet satır var diyelim. Bunu 4 ayrı excel satırına yapıştırmak istiyoruz.

Ama sol taraftaki K satırının eklenen satır sayısı kadar karşılğa gelecek şekilde Birleştir ve ortala yapılması gerekiyor. bu olay en alt satıra kadar devam edecek


Hâlaa anlamakta güçlük çekiyorum. 5 bin küsur satırlık veri ekleyeceğinize 2-3 satırlık bir veri ekleyip, durum bu, olması gereken de bu diye gösterseniz şimdiye kadar çözülürdü sorunuz diye düşünüyorum.

Toplam 5000 satırınız var hem k hem l sütununda. L sütunundakilerden de alt+enter ile bölünenleri düşünürsük atıyorum 10.000 satır oldu, bu durumda bu işlemi 5 bin satırda mı kesilecek? Çünkü K 5000 satır diyelim.

Bence siz örnek dosyanızda çözümü de gösterin.
 
Hâlaa anlamakta güçlük çekiyorum. 5 bin küsur satırlık veri ekleyeceğinize 2-3 satırlık bir veri ekleyip, durum bu, olması gereken de bu diye gösterseniz şimdiye kadar çözülürdü sorunuz diye düşünüyorum.

Toplam 5000 satırınız var hem k hem l sütununda. L sütunundakilerden de alt+enter ile bölünenleri düşünürsük atıyorum 10.000 satır oldu, bu durumda bu işlemi 5 bin satırda mı kesilecek? Çünkü K 5000 satır diyelim.

Bence siz örnek dosyanızda çözümü de gösterin.

Merhaba
Ekteki sayda 2 deki gibi formata çevirmek istiyoruz.
ilk 30 satır 2li oldugundan dolayı 60 satır olarak yapıldı. ilerleyen satırlar içerisinde 3 lü ve 4lü satır olarak bölünmesi gerekenlerdevar. tek tek yapmak çok uzunsürecek olduğundan dolayı bir kısayol arıyoruz.

Selamlar
 

Ekli dosyalar

Merhaba,

Nihayet ne demek istediğinizi anladım. Aşağıdaki kodlar Sayfa1 deki K ve L sütununu Sayfa2 de A ve B sütununa düzenleyerek yazar.

Siz gerektiğinde bu yeni düzünlenmiş veriyi istediğiniz yere kopyalayabilirsiniz.

Kodlarda bir takım kontroller koydum, zira L sütununda birleştirilmiş hücreler vardı. Kodların çalışma sonrasında B sütununda boşluklar görürseniz L sütunundaki birleştirilmiş hücrelerin sonucudur.

Kod:
Sub Duzenle()
    
    Dim i   As Long, _
        j   As Long, _
        k   As Long, _
        m   As Integer, _
        d, _
        Sh1 As Worksheet, _
        Sh2 As Worksheet
    
    Set Sh1 = Sheets("Sayfa1")
    Set Sh2 = Sheets("Sayfa2")
    
    Application.ScreenUpdating = False
    On Error Resume Next
    Sh2.Range("A:B").Clear
    j = 2
    k = 1
    
    For i = 6 To Sh1.Cells(Rows.Count, "K").End(3).Row
    
        d = Split(Sh1.Cells(i, "L"), Chr(10))
        Sh2.Cells(j, "A") = Sh1.Cells(i, "K")
        For m = 0 To UBound(d)
            If Not d(m) = "" Then
                k = k + 1
                Sh2.Cells(k, "B") = d(m)
            End If
        Next m
        If k > j Then
            With Sh2.Range("A" & j & ":A" & k)
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .WrapText = False
                .MergeCells = True
            End With
            j = k + 1
        Else
            j = j + 1
            k = j - 1
        End If
    Next i
    
    Application.ScreenUpdating = True
    
    MsgBox "İşlem Tamamlanmıştır....", vbInformation, "Excel.Web.Tr"
    
End Sub
 

Ekli dosyalar

Teşekkürler

Çok çok teşekkürler Necdet bey,
beni büyük bir zahmetten kurtardınız.



Merhaba,

Nihayet ne demek istediğinizi anladım. Aşağıdaki kodlar Sayfa1 deki K ve L sütununu Sayfa2 de A ve B sütununa düzenleyerek yazar.

Siz gerektiğinde bu yeni düzünlenmiş veriyi istediğiniz yere kopyalayabilirsiniz.

Kodlarda bir takım kontroller koydum, zira L sütununda birleştirilmiş hücreler vardı. Kodların çalışma sonrasında B sütununda boşluklar görürseniz L sütunundaki birleştirilmiş hücrelerin sonucudur.

Kod:
Sub Duzenle()
    
    Dim i   As Long, _
        j   As Long, _
        k   As Long, _
        m   As Integer, _
        d, _
        Sh1 As Worksheet, _
        Sh2 As Worksheet
    
    Set Sh1 = Sheets("Sayfa1")
    Set Sh2 = Sheets("Sayfa2")
    
    Application.ScreenUpdating = False
    On Error Resume Next
    Sh2.Range("A:B").Clear
    j = 2
    k = 1
    
    For i = 6 To Sh1.Cells(Rows.Count, "K").End(3).Row
    
        d = Split(Sh1.Cells(i, "L"), Chr(10))
        Sh2.Cells(j, "A") = Sh1.Cells(i, "K")
        For m = 0 To UBound(d)
            If Not d(m) = "" Then
                k = k + 1
                Sh2.Cells(k, "B") = d(m)
            End If
        Next m
        If k > j Then
            With Sh2.Range("A" & j & ":A" & k)
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .WrapText = False
                .MergeCells = True
            End With
            j = k + 1
        Else
            j = j + 1
            k = j - 1
        End If
    Next i
    
    Application.ScreenUpdating = True
    
    MsgBox "İşlem Tamamlanmıştır....", vbInformation, "Excel.Web.Tr"
    
End Sub
 
Merhaba,

Sami bey gereksiz yere alıntı yaparak yanıtlar verirseniz forum altyapısı gereksiz yere şişer. Verilen cevap sizin için yeterli ise teşekkür etmeniz ya da dönüş yapmanız forum düzeni için yeterli olacaktır. Aksi halde her cevapta alıntı yaparsak okuma düzeni bozulur. Lütfen bu konuya özen gösterelim.
 
Geri
Üst