• DİKKAT

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

Tek hücrede 3 satır var nasıl bölebilirim

Katılım
30 Eylül 2012
Mesajlar
14
Excel Vers. ve Dili
2007 Türkçe
Örnek dosyada kısa bir bölümü var bu dosyada tek hücreye 3 satır yazılmış ve bunları ayırmam alt alta 3 hücre haline getirmem mümkün mü?
 

Ekli dosyalar

Merhaba

Aşağıdaki kodları uygulayınız.


Kod:
Sub parcala()
For y = 1 To Cells(1, 255).End(xlToLeft).Column
cumledeki_degerler = Split(Cells(1, y), " ")
For i = 0 To UBound(cumledeki_degerler)
Cells(i + 2, y) = cumledeki_degerler(i)
Next
Next
End Sub
 
A2 hücresine aşağıdaki formülü yazıp sağa doğru kopyalayın:

Kod:
=YERİNEKOY(A1;DAMGA(10);" ")

Böylece veriler aralarında boşluklarla tek satır halinde yazılacak.

Daha sonra bu formüllü hücreleri kopyalayıp boş bir sütuna sağ tıklayarak özel yapıştır deyin. Burda da önce değerleri sonra da İşlemi tersine çeviri seçin ve tamam deyip çıkın.

Son olarak altalta hücreleri seçin ve Veri sekmesinden metni sütunalra dönüştürü seçin. ilk ekranda sınırlandırılmışı, 2. ekranda da boşluğu işaretleyin ve ileri diyerek sonlandırın.
 
Merhaba,

Bende birşeyler yaptım. Sanırım herkes farklı anlamış.

Ben çok satır olacağı düşüncesiyle hareket ettim.

Kod:
Sub Ayir()
 
    Dim Kol As Integer, _
        k   As Integer, _
        n   As Integer, _
        j() As Long, _
        i   As Long, _
        Sat As Long, _
        s, _
        sh1 As Worksheet, _
        sh2 As Worksheet
    
    Set sh1 = Sheets("Sayfa1")
    Set sh2 = Sheets("Sayfa2")
    
    sh1.Select
    sh2.Cells.ClearContents
    
    Kol = Cells(1, Columns.Count).End(1).Column
    ReDim j(1 To Kol)
    
    Sat = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    
    For i = 1 To Sat
        For k = 1 To Kol
            If Not Cells(i, k) = "" Then
                s = Split(Cells(i, k), Chr(10))
                For n = 0 To UBound(s)
                    j(k) = j(k) + 1
                    sh2.Cells(j(k), k) = s(n)
                Next n
            End If
        Next k
    Next i
    
    MsgBox "İşlem Tamamdır..."
    sh2.Select
    
End Sub
 

Ekli dosyalar

Muhtemelen çok satır olacaktır. Ben de öyle düşünüyorum ancak farklı bir bakış açısı getirerek makrosuz bir çözüm yöntemi, elimizdekilerle yapılabilecekleri göstermek istedim.
 
Merhaba

Merhaba,

Bende birşeyler yaptım. Sanırım herkes farklı anlamış.

Ben çok satır olacağı düşüncesiyle hareket ettim.

Evet ben sadece 1 satırda veri var ve bunlar alt satırlarına dağıtılacak olarak anladım.

Sizin kodlarınız daha kapsamlı istenildiği şekilde kullanılabilir.
 
3 değişik çözüm var ve geri dönüş yok.
Bu nasıl birşey dir anlamıyorum.
 
Öncelikle çok teşekkür ediyorum. Makro kullanmayı hiç bilmiyorum ve evet çok satır çok sütun var hepside tek hücrede 3 satır olarak yazılmış. Benim istediğim aynen bu hücreleri 3 satıra bölmek yani tek hücrede alt alta ahmet mehmet ali yazıyor ise ayrı hücrelerde alt alta ahmet mehmet ali yazacak. YUSUF44 formülü denedim ahmet mehmet ali üçlemesini yan yana hücrelere bölüyor.
 
İlk isim için:

Kod:
=SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)

2. isim için:
Kod:
=SOLDAN(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);" ");SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)&" ";"");BUL(" ";YERİNEKOY(YERİNEKOY(A1;DAMGA(10);" ");SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)&" ";""))-1)

3. isim için:

Kod:
=YERİNEKOY(YERİNEKOY(A1;DAMGA(10);" ");SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)&" "&SOLDAN(YERİNEKOY(YERİNEKOY(A1;DAMGA(10);" ");SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)&" ";"");BUL(" ";YERİNEKOY(YERİNEKOY(A1;DAMGA(10);" ");SOLDAN(YERİNEKOY(A1;DAMGA(10);" ");BUL(" ";YERİNEKOY(A1;DAMGA(10);" "))-1)&" ";""))-1)&" ";"")

Yalnız bu formüller tüm verileriniz örnekteki gibi isimler arasında boşluk yoksa doğru çalışır.
 
Çok teşekkür ederim çalışıyor süper ellerinize sağlık
 
Geri
Üst