Skip to main content

AccessTr.neT


Klasör İçerisindeki Excel Dosyalarını Tek Dosyada Birleştirme

Klasör İçerisindeki Excel Dosyalarını Tek Dosyada Birleştirme

#13
Alttaki kod çalışırsa daha iyi bende çalışıyor.Yani 65536 satır sonrası için öncekinde sorun olabilir onun için bu kodu yazdım.

Private Sub CommandButton1_Click()
    Dim rs As Object, con As Object
    Dim son As Long, alan As String, baslik As Range
   
    Set rs = CreateObject("ADODB.Recordset")
    Set con = CreateObject("ADODB.Connection")
    Dim yol As String, yol2 As String
   
    yol = ThisWorkbook.Path & Application.PathSeparator
    yol2 = Dir(yol & "*xlsx")

    With ThisWorkbook.Sheets("TümVeri")
        For Each baslik In .Range("B1:Q1")
            alan = alan & "[" & baslik.Value & "]" & ","
        Next
        alan = Mid(alan, 1, Len(alan) - 1)
        .Range("A2:Q" & Rows.Count).Clear
        Do Until yol2 = ""
                son = .Range("B" & Rows.Count).End(3).Row + 1
                con.Open "Provider=microsoft.ace.oledb.12.0;data source=" & yol & yol2 & ";extended properties=""Excel 12.0;hdr=yes"""
                rs.Open "select " & alan & " from [MEMURLAR$]", con, 1, 1
                .Range("B" & son).CopyFromRecordset rs
                rs.Close
                con.Close
                Sql = vbNullString
            yol2 = Dir
        Loop
    End With
    Set rs = Nothing
    Set con = Nothing: Set baslik = Nothing
    MsgBox "Bitti", vbInformation, "Bilgi"
End Sub
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Klasör İçerisindeki Excel Dosyalarını Tek Dosyada Birleştirme - Yazar: feraz - 22/04/2021, 22:49
Task