Hücrelerdeki Verileri Başka Bir Hücrede Altalta Birleştirmek

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba Arkadaşlar
A sütununda bulunan hücrelerdeki verileri, B sütunundan ortak işarete göre C sütununda aynı hücre içinde ama alt alta gelecek şekilde birleştirmek mümkün müdür ?
Formül veya makro ile

221273
 

Ekli dosyalar

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Kulomer46 üstadım çok çok teşekkür ediyorum, harikulade bir çalışma olmuş. Elinize emeğinize sağlık. Bereketli günler dilerim, sağlıcakla kalın
Merhaba

Dosyayı biraz daha geliştirdim. Ek' tedir.

Selamlar...
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Hızlı sonuç verir.

C++:
Option Explicit

Sub Verileri_Isarete_Gore_Birlestir()
    Dim S1 As Worksheet, Dizi As Object, Veri As Variant
    Dim Son As Long, X As Long, Say As Long, Zaman As Double
    
    Zaman = Timer
    
    Set S1 = Sheets("Sayfa1")
    Set Dizi = CreateObject("Scripting.Dictionary")
    
    S1.Range("C:C").Clear
    
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    If Son = 1 Then Son = 2
    
    Veri = S1.Range("A1:B" & Son).Value
    
    ReDim Liste(1 To Son, 1 To 1)
    
    For X = LBound(Veri) To UBound(Veri)
        Say = Say + 1
        If Not Dizi.Exists(Veri(X, 2)) Then
            Dizi.Add Veri(X, 2), Say
            Liste(Say, 1) = Veri(X, 1)
        Else
            Liste(Dizi.Item(Veri(X, 2)), 1) = Liste(Dizi.Item(Veri(X, 2)), 1) & vbLf & Veri(X, 1)
        End If
    Next
    
    If Say > 0 Then Range("C1").Resize(UBound(Veri)) = Liste

    Set S1 = Nothing
    Set Dizi = Nothing

    MsgBox "Veri birleştirme işlemi tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Alternatif;

Hızlı sonuç verir.

C++:
Option Explicit

Sub Verileri_Isarete_Gore_Birlestir()
    Dim S1 As Worksheet, Dizi As Object, Veri As Variant
    Dim Son As Long, X As Long, Say As Long, Zaman As Double
   
    Zaman = Timer
   
    Set S1 = Sheets("Sayfa1")
    Set Dizi = CreateObject("Scripting.Dictionary")
   
    S1.Range("C:C").Clear
   
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    If Son = 1 Then Son = 2
   
    Veri = S1.Range("A1:B" & Son).Value
   
    ReDim Liste(1 To Son, 1 To 1)
   
    For X = LBound(Veri) To UBound(Veri)
        Say = Say + 1
        If Not Dizi.Exists(Veri(X, 2)) Then
            Dizi.Add Veri(X, 2), Say
            Liste(Say, 1) = Veri(X, 1)
        Else
            Liste(Dizi.Item(Veri(X, 2)), 1) = Liste(Dizi.Item(Veri(X, 2)), 1) & vbLf & Veri(X, 1)
        End If
    Next
   
    If Say > 0 Then Range("C1").Resize(UBound(Veri)) = Liste

    Set S1 = Nothing
    Set Dizi = Nothing

    MsgBox "Veri birleştirme işlemi tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
Korhan Ayhan üstadım, desteğiniz için çok teşekkür ediyorum. Sade sonuçlar almak için harikulade bir seçenek olmuş. Sağlıcakla kalın
 
Üst