Çoklu Düşeyara Makrosu

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız aşağıdaki linktedir.:cool:

DOSYAYI İNDİR

Kod:
Sub benzersiz59()
Dim z As Object, liste(), i As Long, k As Integer, vkey, sat As Long
Dim deg, sut As Integer
Sheets("Sayfa1").Select
sat = 2
liste = Range("A2:E" & Cells(Rows.Count, "B").End(xlUp).Row).Value
Set z = CreateObject("Scripting.dictionary")
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 1)) Then
        z.Add liste(i, 1), liste(i, 5)
        Else
        z.Item(liste(i, 1)) = z.Item(liste(i, 1)) & "|" & liste(i, 5)
    End If
Next i
Erase liste
Sheets("özet tablo").Select
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).ClearContents
Application.ScreenUpdating = True
For Each vkey In z.keys
    sut = 2
    Cells(sat, "A").Value = vkey
    deg = Split(z.Item(vkey), "|")
    For k = 0 To UBound(deg)
        Cells(sat, sut).Value = deg(k)
        sut = sut + 1
    Next k
    sat = sat + 1
Next
Set z = Nothing
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı." & vbLf & "evrengizlen@hotmail.com"
End Sub
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
256
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Evren Hocam,

Ellerine sağlık tam istediğim gibi olmuş.. işi ehline bırakmak bu olsa gerek :)
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,604
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Orion1 Hocam,
Bu makronun yaptığı, aynı sayfadaki örneğin 12000 küsür kişinin içinde varlığı bilinen adı "Aaa Bbbbb" olan 5 öğrencinin bilgilerini mi getiriyor (diyelim numarasını) ?
Saygılarımla
 

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
Teşekkürler, güzel bir konu
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Orion1 Hocam,
Bu makronun yaptığı, aynı sayfadaki örneğin 12000 küsür kişinin içinde varlığı bilinen adı "Aaa Bbbbb" olan 5 öğrencinin bilgilerini mi getiriyor (diyelim numarasını) ?
Saygılarımla
Kaç öğrenci varsa getiriyor,benzersiz olarak.:cool:
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,604
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Orion! Hocam,
Sanırım başka bir başlıkla açmalıyım düşündüğüm konuyu.
İlginize teşekkür ederim
Saygılarımla
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sn. Evren Hocam,

Aynı liste için bir küçük dokunuş daha isteyeceğim örneği alt linkte yer alıyor yardımlarınızı bekler iyi çalışmalar dilerim..

http://www.dosya.tc/server7/pv5voh/ozet_tablo_coklu_duseyara_2.xlsx.html
Dosyanız ektedir.:cool:

DOSYAYI İNDİR

Kod:
Sub benzersiz59()
Dim z As Object, liste(), i As Long, k As Integer, vkey, sat As Long
Dim deg, sut As Integer
Sheets("Sayfa1").Select
sat = 2
liste = Range("A2:D" & Cells(Rows.Count, "B").End(xlUp).Row).Value
Set z = CreateObject("Scripting.dictionary")
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 1)) Then
        z.Add liste(i, 1), liste(i, 4) & "|" & liste(i, 3)
        Else
        z.Item(liste(i, 1)) = z.Item(liste(i, 1)) & "|" & liste(i, 4) & "|" & liste(i, 3)
    End If
Next i
Erase liste
Sheets("özet tablo").Select
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).ClearContents
Application.ScreenUpdating = True
For Each vkey In z.keys
    sut = 2
    Cells(sat, "A").Value = vkey
    deg = Split(z.Item(vkey), "|")
    For k = 0 To UBound(deg)
        Cells(sat, sut).Value = deg(k)
        sut = sut + 1
    Next k
    sat = sat + 1
Next
Set z = Nothing
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı." & vbLf & "evrengizlen@hotmail.com"
End Sub
 

Ekli dosyalar

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
256
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Sn. Evren Hocam,

Tam istediğim gibi olmuş teşekkür ederim..

Bu arada '' Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı. '' bu ata sözünü de sizden gördüm ve kendime küpe yaptım..

Kolay gelsin, iyi çalışmalar
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
256
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Teşekkürler
 

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
teşekkürler sayın Orion1
 
Katılım
26 Nisan 2016
Mesajlar
4
Excel Vers. ve Dili
2013
merhaba bi konuda acil desteğe ihtiyacım var bir veriye karşılık gelen tüm verileri bir dosyaya nasıl toplayabilirim, örneğin bir araca karşılık gelen tüm faturaları bi sayfada nasıl görebilirm
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
merhaba bi konuda acil desteğe ihtiyacım var bir veriye karşılık gelen tüm verileri bir dosyaya nasıl toplayabilirim, örneğin bir araca karşılık gelen tüm faturaları bi sayfada nasıl görebilirm
Yeni bir konu açarak örnek dosyanızı ekleyerek ve dosya üzerinde açıklama yaparak sorunuzu sorunuz.Buradaki konunun cevabı verilmiş olup konu kapanmıştır.:cool:
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Dosyanız ektedir.:cool:

DOSYAYI İNDİR

Kod:
Sub benzersiz59()
Dim z As Object, liste(), i As Long, k As Integer, vkey, sat As Long
Dim deg, sut As Integer
Sheets("Sayfa1").Select
sat = 2
liste = Range("A2:D" & Cells(Rows.Count, "B").End(xlUp).Row).Value
Set z = CreateObject("Scripting.dictionary")
For i = 1 To UBound(liste)
    If Not z.exists(liste(i, 1)) Then
        z.Add liste(i, 1), liste(i, 4) & "|" & liste(i, 3)
        Else
        z.Item(liste(i, 1)) = z.Item(liste(i, 1)) & "|" & liste(i, 4) & "|" & liste(i, 3)
    End If
Next i
Erase liste
Sheets("özet tablo").Select
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).ClearContents
Application.ScreenUpdating = True
For Each vkey In z.keys
    sut = 2
    Cells(sat, "A").Value = vkey
    deg = Split(z.Item(vkey), "|")
    For k = 0 To UBound(deg)
        Cells(sat, sut).Value = deg(k)
        sut = sut + 1
    Next k
    sat = sat + 1
Next
Set z = Nothing
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı." & vbLf & "evrengizlen@hotmail.com"
End Sub
Application.ScreenUpdating = True bu iki kere yazılmış ilki false olacaktı sanırım gözlerden kaçmış :)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Application.ScreenUpdating = True bu iki kere yazılmış ilki false olacaktı sanırım gözlerden kaçmış :)
Evet haklısınız,gözümden kaçmış.Sizin gözünüzden kaçmamış.Tebrik ederim.:cool:
 
Üst