Soru Farklı sayfalardaki verileri tek sayfaya liste halinde çekme

Katılım
20 Aralık 2019
Mesajlar
34
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-08-2021
Arkadaşlar merhaba,
Elimde tek bir excel dosyasının içinde sayfalar şeklinde Sayfa1 - Sayfa2 - Sayfa3 - gibi veriler var.
Bunların hepsini Sayfa4'e liste şeklinde nasıl çekebilirim önerisi olan var mı?

Tüm sayfaların veri tipi aynı
İş - Ad Soyad - Saat - Tarih gibi başlıklar altındalar.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sayfalardaki verileri "liste" adlı sayfada birleştirir.
Kod:
Sub Sayfalari_Birlestir()

    Dim i As Integer, son_L As Long, son_s As Long

    Application.ScreenUpdating = False
    Sheets("liste").Select 'listeme yapılacak sayfa
    
    Range("A2:D" & Rows.Count).ClearContents
    
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> ActiveSheet.Name Then
                son_L = [A:D].Find("*", , , , xlByRows, xlPrevious).Row + 1
                son_s = .[A:D].Find("*", , , , xlByRows, xlPrevious).Row
                .Range("A2:D" & son_s).Copy Cells(son_L, "A")
            End If
        End With
    Next i

End Sub
 
Katılım
20 Aralık 2019
Mesajlar
34
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-08-2021
Merhaba,

Sayfalardaki verileri "liste" adlı sayfada birleştirir.
Kod:
Sub Sayfalari_Birlestir()

    Dim i As Integer, son_L As Long, son_s As Long

    Application.ScreenUpdating = False
    Sheets("liste").Select 'listeme yapılacak sayfa
   
    Range("A2:D" & Rows.Count).ClearContents
   
    For i = 1 To Worksheets.Count
        With Sheets(i)
            If .Name <> ActiveSheet.Name Then
                son_L = [A:D].Find("*", , , , xlByRows, xlPrevious).Row + 1
                son_s = .[A:D].Find("*", , , , xlByRows, xlPrevious).Row
                .Range("A2:D" & son_s).Copy Cells(son_L, "A")
            End If
        End With
    Next i

End Sub
Kod:
son_L = [A:D].Find("*", , , , xlByRows, xlPrevious).Row + 1
Şu kısımda hata almaya başlıyorum ve makroyu nereye koyacağımı anlamadım her sayfa için ayrı buton mu koymalıyım yoksa liste sayfasında mı olmalı.
Örnek bir dosya bırakıyorum bakma imkanınız var mı?
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
liste sayfasına başlık satırı yazarsanız hata almazsınız.

VBA ekranına geçin, Insert menüsünden Module ekleyip kodları Module1 için içine kopyalayın ve liste sayfasına bir buton ekleyerek bu botona kodları bağlayın.
 
Katılım
20 Aralık 2019
Mesajlar
34
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-08-2021
liste sayfasına başlık satırı yazarsanız hata almazsınız.

VBA ekranına geçin, Insert menüsünden Module ekleyip kodları Module1 için içine kopyalayın ve liste sayfasına bir buton ekleyerek bu botona kodları bağlayın.
Ömer bey çok teşekkür ederim, bana nasıl yardımcı olduğunuzu tahmin edemezsiniz.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Rica ederim, işinize yaradığına sevindim.
Yalnız dosyanızda A:J arası veri varmış, ben 1.mesajınıza istinade A: D olarak düzenlemiştim. Bu kısmı kendinize uyarlarsınız.
İyi çalışmalar.
 
Katılım
20 Aralık 2019
Mesajlar
34
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
19-08-2021
Rica ederim, işinize yaradığına sevindim.
Yalnız dosyanızda A:J arası veri varmış, ben 1.mesajınıza istinade A: D olarak düzenlemiştim. Bu kısmı kendinize uyarlarsınız.
İyi çalışmalar.
Evet düzelttim o şekilde.
 
Üst