Aynı klasör içindeki aynı sayfalardan veri çekmek

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
Merhabalar,
aynı klasör içinde yer alan ve aynı şablondan doldurulmuş excel dosyalarının belirli sayfalarından verileri alt alta birleştirmek istiyoruz. Excel dosylarınında sayfa isimleri aynı ve 3 sayfa gizli ve veri alıncak sayfa (hhhh) görünür şekilde. Umarım anlatabilmişimdir. örnek dosya ektedir yardımcı olacak arkadaşlara şimdiden teşekkürler.
 

Ekli dosyalar

Son düzenleme:

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub ADOWithAllFiles()
    Dim fso As Object
    Dim file As Object
    Dim adoCn As Object, rs As Object, strSQL$

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set adoCn = CreateObject("ADODB.Connection")

    adoCn.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCn.Properties("Data Source") = ThisWorkbook.FullName
    adoCn.Properties("Extended Properties") = "Excel 12.0; HDR=No"
    adoCn.Open
    Set rs = CreateObject("Adodb.RecordSet")

    Sheets("Sayfa1").Range("A2:AA" & Rows.Count).ClearContents

    For Each file In fso.GetFolder(ThisWorkbook.Path).Files
        If fso.GetExtensionName(file) Like "xlsx" And _
           Not file.Name Like ThisWorkbook.Name And _
           Not file.Name Like "~$*" Then

            strSQL = "Select *,'" & file.Name & "' From [hhhh$A4:Z" & Rows.Count & _
                     "] IN '' [Excel 12.0;HDR=No;Database=" & ThisWorkbook.Path & "\" & _
                     file.Name & "]"
            rs.Open strSQL, adoCn, 1, 1
            Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Offset(1).CopyFromRecordset rs
            rs.Close

        End If
    Next file

End Sub
 

wezyr

Altın Üye
Katılım
14 Nisan 2006
Mesajlar
110
Excel Vers. ve Dili
OFFİCE 2010-2019
Altın Üyelik Bitiş Tarihi
21-04-2029
Kod:
Sub ADOWithAllFiles()
    Dim fso As Object
    Dim file As Object
    Dim adoCn As Object, rs As Object, strSQL$

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set adoCn = CreateObject("ADODB.Connection")

    adoCn.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCn.Properties("Data Source") = ThisWorkbook.FullName
    adoCn.Properties("Extended Properties") = "Excel 12.0; HDR=No"
    adoCn.Open
    Set rs = CreateObject("Adodb.RecordSet")

    Sheets("Sayfa1").Range("A2:AA" & Rows.Count).ClearContents

    For Each file In fso.GetFolder(ThisWorkbook.Path).Files
        If fso.GetExtensionName(file) Like "xlsx" And _
           Not file.Name Like ThisWorkbook.Name And _
           Not file.Name Like "~$*" Then

            strSQL = "Select *,'" & file.Name & "' From [hhhh$A4:Z" & Rows.Count & _
                     "] IN '' [Excel 12.0;HDR=No;Database=" & ThisWorkbook.Path & "\" & _
                     file.Name & "]"
            rs.Open strSQL, adoCn, 1, 1
            Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Offset(1).CopyFromRecordset rs
            rs.Close

        End If
    Next file

End Sub
Teşekkür ederim. Elinize sağlık istediğimden fazlasıyla birlikte yapmışsınız.
 
Üst