• DİKKAT

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

Tüm değişebilen isimli sayfaları Tek Sayfaya Kopyalamak

Katılım
29 Nisan 2007
Mesajlar
67
Excel Vers. ve Dili
Türkçe 2003
Merhabalar herkese kolay gelsin...

- Excel dosyamda sabit olarak Kapak ve Database isimli iki sayfa var ve bir sürü müşteri sayfası bu müşteri sayfaları artabilir veya eksilebilir...
- Database sayfasının B sütünunda müşteri isimleri yer almakta ve bu isimler form ile buraya yazdırılmakta...
- Kapak sayfasında iki tane command button var birisi Başlat diğeri Tüm Siparişler...
- Tüm siparişler butonuna basıldığı zaman Database sayfasının B sütünundaki müşteri isimlerini tarayacak dediğim gibi bu isimler artabilir azalabilir... ve bu isimlerin eşleşdiği sayfalardaki bütün verileri alt alta Kapak sayfasına yapıştıracak...

İlgilenenlere Teşekkür ediyorum.
 

Ekli dosyalar

Selamun Aleykum
kardeşim öncelikle mantığın bana ters gibi geldi
aşağıda tarif edeceğim şekilde yaparsan istemiş olduğun raporlara daha kolay ulaşabilirsin

1-öncelikle bütün müşteri isimli sayfaları kaldır buradaki tüm verileri alt alta bir sayfaya yerleştir.
2-bu yeni sayfada gelen verilerin en üst kısmında sütün başlıkları olsun ve bunlarda filtre ekle bu filtreyle istemiş olduğun müşterilerin siparişlerini görürsün
3-eğer artical noları tekrarlanabilir değilse düşeyara ile tüm articalların müşteri adlarına ulaşabilirsin

eğer bu dediklerimi yapabilirsen, yardımcı olmaya çalışırım Aeo
 
Aleykümselam...
Müşterilerin ayrı ayrı tutulmasını istiyorum bu sebeple ayrı sayfalar halinde oluşturdum.
Tek sayfada yaptığımızda üzerinde işlem yapmak daha kolay gibi gözüksede aslında daha karışık, her müşterinin ayrı bi kartının olması daha düzenli ve sağlam...
Nitekim senin söylediğin için kod yazmaya bile gerek yok.
Ayrıca dosyayı incelersen sende farkedeceksin ki artical numaraları tekrarlanabilir...
Yinede ilgin için Teşekkürler.
Umarım birisi yardımcı olabilir...
 
Bunu bugün kesinlikle halletmem lazım lütfen yardımcı olun...
 
Aşağıdaki makro kodlarını deneyebilir misiniz?

Kod:
Private Sub CommandButton2_Click()
On Error Resume Next
Dim i As Integer
Dim sadi As Worksheet
Dim kisi As String
Application.ScreenUpdating = False
Set s1 = Sheets("Kapak")
s1.Range("a2:f10000").ClearContents
    For Each sadi In Worksheets
        If sadi.Name <> "Kapak" Or sadi.Name <> "DataBase" Then
            Set s2 = Sheets(sadi.Name)
                For i = 2 To s2.[a65536].End(xlUp).Row
                    sat = s1.[a65536].End(3).Row + 1
                    s1.Cells(sat, "a").Value = s2.Cells(i, "a").Value
                    s1.Cells(sat, "b").Value = s2.Cells(i, "b").Value
                    s1.Cells(sat, "c").Value = s2.Cells(i, "c").Value
                    s1.Cells(sat, "d").Value = s2.Cells(i, "d").Value
                    s1.Cells(sat, "e").Value = s2.Cells(i, "e").Value
                    s1.Cells(sat, "f").Value = s2.Cells(i, "f").Value
                Next i
        End If
    Set s2 = Nothing
    Next
s1.[a2].Select
Application.ScreenUpdating = True
MsgBox "İşlem Başarıyla Tamamlandı.", vbInformation, "Bilgi"
Set s1 = Nothing
End Sub
 

Ekli dosyalar

Selamlar,

Bende hazırlamıştım. Alternatif olarak aşağıdaki koduda kullanabilirsiniz.

Kod:
Private Sub CommandButton2_Click()
    Dim Müşteri As Range
    Sheets("Kapak").Select
    Range("A2:G65536").ClearContents
    For Each Müşteri In Sheets("DataBase").Range("B2:B" & Sheets("DataBase").Range("B65536").End(3).Row)
    Sheets(CStr(Müşteri)).Range("A2:G" & Sheets(CStr(Müşteri)).Range("A65536").End(3).Row).Copy Range("A65536").End(3).Offset(1, 0)
    Next
    MsgBox "Tüm siparişler aktarılmıştır.", vbInformation
End Sub
 

Ekli dosyalar

Arkadaşlar ne diyebilirim ki gerçekten çok çok teşekkür ederim ilginize beni çok büyük bir yükten kurtardınız... Recep İPEK ve Korhan AYHAN saygılar...
 
Geri
Üst