Sayfalara Aktar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Detaylı bilgiyi dosyamda açıklamaya çalıştım.
Yapmak istediğim kısaca; Ekteki dosyamda firma adlarına göre sayfa oluşturup ya da sayfa varsa direkt bilgileri Array(Dizi) yöntemi ya da Scripting Dictionary yöntemleri ile Yapmak . Şimdiden herkese çok teşekkür ederim.

Saygılar
 

Ekli dosyalar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Sayın @muygun hocam çok teşekkür ederim .

Saygılar
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub sayfalaraVeriAktar()
    Dim veri, i, ky, s1 As Worksheet
    Set s1 = Sheets("Veri")
    veri = s1.Range("A2:C" & s1.Cells(Rows.Count, 1).End(3).Row).Value
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(veri)
            If Not .Exists(veri(i, 1)) Then
                .Item(veri(i, 1)) = Null
                If Evaluate("ISREF('" & veri(i, 1) & "'!A1)") = False Then
                    Sheets.Add(, Sheets(Sheets.Count)).Name = veri(i, 1)
                Else
                    Sheets(veri(i, 1)).Cells.Clear
                End If
            End If
        Next i
        s1.Select
        veri = .Keys
        For Each ky In .Keys
            s1.Range("A1:C1").AutoFilter Field:=1, Criteria1:=ky
            s1.Range("A1").CurrentRegion.Copy Sheets(ky).Range("A1")
        Next ky
        s1.Range("A1:C1").AutoFilter
    End With
End Sub
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
@veyselemre Hocam kodlarda ki renkli kısmı anlayamadım zahmet olmazsa açıklayabilir misiniz?

Kod:
Sub sayfalaraVeriAktar()
    Dim veri, i, ky, s1 As Worksheet
    Set s1 = Sheets("Veri")
    veri = s1.Range("A2:C" & s1.Cells(Rows.Count, 1).End(3).Row).Value
    With CreateObject("Scripting.Dictionary")
        For i = 1 To UBound(veri)
            If Not .Exists(veri(i, 1)) Then
                .Item(veri(i, 1)) = Null
                If Evaluate("ISREF('" & veri(i, 1) & "'!A1)") = False Then
                    Sheets.Add(, Sheets(Sheets.Count)).Name = veri(i, 1)
                Else
                    Sheets(veri(i, 1)).Cells.Clear
                End If
            End If
        Next i
        s1.Select
        veri = .Keys
        For Each ky In .Keys
            s1.Range("A1:C1").AutoFilter Field:=1, Criteria1:=ky
            s1.Range("A1").CurrentRegion.Copy Sheets(ky).Range("A1")
        Next ky
        s1.Range("A1:C1").AutoFilter
    End With
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Dizi ve Collection kullanarak bir çözüm de ben önereyim.
Ekli dosyada illa verilerinizi bu dosyaya aktarmanız gerekmiyor.
isterseniz herhangi bir dosyadaki veriyi alabilirsiniz, ya da bu dosya açıkken, sizin dosyanızı açarak, eklediğim dosyadaki makroyu çalıştırabilirsiniz.
İstediğiniz bir sütuna göre ister sayfalara isterse dosyalara ayırabilirsiniz.
Deneyiniz ve sonucu da paylaşırsanız sevinirim.
Hep örnek bir kaç satırlık verilerle denediğim için hız konusunda bir fikrim yok.
 

Ekli dosyalar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
@Necdet Hocam
Çok Teşekkür ederim. Emeğinize sağlık
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bu da array ve array sıralama ile yapılmış sadece sayfalara ayıran çalışma.
yine arka planda ekteki dosyanın kodlarını çalıştırabilirsiniz.
 

Ekli dosyalar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Necdet Hocam
Emeğinize sağlık, böyle alternatifli çözümler veriyorsunuz. Çok teşekkür ederim.
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
342
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Merhaba,

Dizi ve Collection kullanarak bir çözüm de ben önereyim.
Ekli dosyada illa verilerinizi bu dosyaya aktarmanız gerekmiyor.
isterseniz herhangi bir dosyadaki veriyi alabilirsiniz, ya da bu dosya açıkken, sizin dosyanızı açarak, eklediğim dosyadaki makroyu çalıştırabilirsiniz.
İstediğiniz bir sütuna göre ister sayfalara isterse dosyalara ayırabilirsiniz.
Deneyiniz ve sonucu da paylaşırsanız sevinirim.
Hep örnek bir kaç satırlık verilerle denediğim için hız konusunda bir fikrim yok.
Necdet Hocam Merhaba;
Bu çalışmanızda hücre seçiniz dediğimiz zaman örneğin B sütunundan bir hücre seçtiğimizde O sütundaki verileri dosya adı olarak kabul edip dosyalara ayırıyor. B sütununda olan verilerin adında çalışma kitaplarımızın var olduğunu saysak o kitaplarda olan Örneğin AHMET adlı kitabın Veri sayfasını değiştirebilir mi? Bunu şablon kabul edip her güncellediğimde DOSYALARA DAĞIT dediğimizde B sütununda var olan Dosyalarda ki veri sayfasını değiştirebilir miyiz? Asıl sormak istediğim bu.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Necdet Hocam Merhaba;
Bu çalışmanızda hücre seçiniz dediğimiz zaman örneğin B sütunundan bir hücre seçtiğimizde O sütundaki verileri dosya adı olarak kabul edip dosyalara ayırıyor. B sütununda olan verilerin adında çalışma kitaplarımızın var olduğunu saysak o kitaplarda olan Örneğin AHMET adlı kitabın Veri sayfasını değiştirebilir mi? Bunu şablon kabul edip her güncellediğimde DOSYALARA DAĞIT dediğimizde B sütununda var olan Dosyalarda ki veri sayfasını değiştirebilir miyiz? Asıl sormak istediğim bu.
Merhaba.
Dosya adının olup olmadığını kontrol etmedim. Hatta aynı dosya adı varsa kod hata da verir.
Bunlar da koda eklenebilir.
İkinci sorunuz da aynı adla dosya olsa da hangi sayfayı değiştirecek olayı baya sıkıntılı. Tabi belirli bir yöntem varsa o da olabilir.
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
342
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam belirli bir klasörde Örneğin LİSTELER adlı klasör içerisinde Örnek1 Örnek2 diye listeler var diyelim bu isimleri çalışmanızın B Sütununa alt alta yazdık her kitapta da VERİ adlı sayfa var DOSYALARA dağıt dediğimizde listede ismi olan çalışma kitaplarının VERİ sayfaları ya güncellenmeli yada silinip yeni hali eklenmeli. Böyle bir çalışmayı uzun zamandır arıyorum ama bulamadım burada konu da açmıştım. Sizin çalışmanız bu sorunun çözülebileceğini gösterdi ama tabi ki benim yapabileceğim bir şey değil
Ayrıca çalışmanızı kalabalık bir dosyada denedim hızı mükemmel yaklaşık 60 sayfa ve 15 sütunda 6-7 sn bulmadan işlem yaptı
 

sward175

Özel Üye
Katılım
4 Şubat 2011
Mesajlar
1,112
Excel Vers. ve Dili
Excel Vers. ve Dili:
Microsoft Office 365 Tr 64 Bit
Altın Üyelik Bitiş Tarihi
04-06-2024
Necdet Hocam,
Ellerine beyninize sağlık, Ben de dosyanızı indirdin Aylık 18 sütün ve 785 satır olan bir dosyam var G sütun seçerek 2 yada3 saniyede 2 sayfaya ayırdı gayet başarılı bir iş yaptım.
Saygı ve sevgiler diliyorum.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Teşekkürler Sayın Mdemir63,
Denemenizi merak ediyorum, büyük verilerde hızı nasıl?
Hocam benim dosyamda sıkıntı yok.
Gayet iyi. Ama benim dosyamın boyutu çok büyük değil
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Hocam belirli bir klasörde Örneğin LİSTELER adlı klasör içerisinde Örnek1 Örnek2 diye listeler var diyelim bu isimleri çalışmanızın B Sütununa alt alta yazdık her kitapta da VERİ adlı sayfa var DOSYALARA dağıt dediğimizde listede ismi olan çalışma kitaplarının VERİ sayfaları ya güncellenmeli yada silinip yeni hali eklenmeli. Böyle bir çalışmayı uzun zamandır arıyorum ama bulamadım burada konu da açmıştım. Sizin çalışmanız bu sorunun çözülebileceğini gösterdi ama tabi ki benim yapabileceğim bir şey değil
Ayrıca çalışmanızı kalabalık bir dosyada denedim hızı mükemmel yaklaşık 60 sayfa ve 15 sütunda 6-7 sn bulmadan işlem yaptı
Mükerrar dosya durumunda önceki dosyayı silme işlemini vakit bulduğumda yapayım.
Aslında sadece bir dosya kontrolü.
 

m.ensar

Altın Üye
Katılım
5 Nisan 2016
Mesajlar
342
Excel Vers. ve Dili
office 10 türkçe
Altın Üyelik Bitiş Tarihi
25-10-2025
Hocam ilginize çok teşekkür ediyorum. asıl meramım halihazırda var olan çalışma kitaplarının veri sayfalarını değiştirmek. Şöyle ki yapıları tamamen aynı olan bir gruba ait 8 çalışma kitabı bir klasör içerisinde, yine yapıları aynı olan bir başka gruba ait 8 çalışma kitabı bir başka klasörde ve bunun gibi 5 farklı grup var. bunların veri sayfalarında bir değişiklik yaptığım zaman her birini tek tek güncellemem gerekiyor. Sizin çalışmanızda bana lazım olan B sütununa ben bu çalışma gruplarında bulunan kitapların adını yazacağım ve 8 kitabın veri sayfası yaptığım güncellemeyi almış olacak. Diğer sütunlardan hücre seçip değişik şekillerde dağıtım yapmasa da olur. Vaktiniz olurda ilgilenirseniz minnet duyarım.
 
Üst