Sekmelere Ayırma

Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Çok Excel Web ailesine selamlar saygılar..

Benim sorum çek sahibine k sütununda buluna çek sahibi ismine göre sekmeler açılıp ilgili satırların açılan sekmelere aktarılması ile ilgili olacak.

Böyle bir şey inanıın çok işime yarayacaktır.. dosyam linktedir..



Hocalarıma saygılar sevgiler..
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub sayfalaraVeriAktar()
    Dim ky, s1 As Worksheet, son&
    Set s1 = Sheets("TÜM ÇEKLER")
    son = s1.Cells(Rows.Count, 1).End(3).Row
    With CreateObject("Scripting.Dictionary")
        For Each ky In s1.Range("K2:K" & son).Value
            If ky <> "" And Not .Exists(ky) Then
                .Item(ky) = Null
                If Evaluate("ISREF('" & ky & "'!A1)") = False Then
                    Sheets.Add(, Sheets(Sheets.Count)).Name = ky
                Else
                    Sheets(ky).Cells.Clear
                End If
            End If
        Next ky
        s1.Select
        For Each ky In .Keys
            s1.Range("A1:M1").AutoFilter Field:=11, Criteria1:=ky
            s1.Range("A1:M" & son).Copy Sheets(ky).Range("A1")
            Sheets(ky).Columns.AutoFit
        Next ky
        s1.Range("A1:M1").AutoFilter
    End With
End Sub
 
Son düzenleme:
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Kod:
Sub sayfalaraVeriAktar()
    Dim ky, s1 As Worksheet, son&
    Set s1 = Sheets("TÜM ÇEKLER")
    son = s1.Cells(Rows.Count, 1).End(3).Row
    With CreateObject("Scripting.Dictionary")
        For Each ky In s1.Range("K2:K" & son).Value
            If ky <> "" And Not .Exists(ky) Then
                .Item(ky) = Null
                If Evaluate("ISREF('" & ky & "'!A1)") = False Then
                    Sheets.Add(, Sheets(Sheets.Count)).Name = ky
                Else
                    Sheets(ky).Cells.Clear
                End If
            End If
        Next ky
        s1.Select
        For Each ky In .Keys
            s1.Range("A1:M1").AutoFilter Field:=11, Criteria1:=ky
            s1.Range("A1:M" & son).Copy Sheets(ky).Range("A1")
            Sheets(ky).Columns.AutoFit
        Next ky
        s1.Range("A1:M1").AutoFilter
    End With
End Sub
Hocam Mükemmel Çalışıyor. Bir şey daha sorcam bunları ayrı bir excel dosyası olarak açan hatta bu dosyaların nereye kaydededeceğini soran başka bir versiyonuda olabilirmi.yani sekme yerine tek başına excel dosyası olsunlar anlamında..olmadı ben o açılan sekmeleri tek tek farklı kaydet deyip kaydederim zaten.

üyeliğiniz gibi gerçekten çok özelsiniz veysel hocam.
 
Üst