Vba kullanarak birden fazla excel çalışma kitabı nasıl birleştirilir?
Birden çok Excel çalışma kitabını birleştirmek için, hangi dosyaları birleştirmek istediğinizi seçmenize olanak tanıyan bir kod kullanmanız gerekir veya belirli bir yol konumuna başvurabilir ve geçerli çalışma kitabındaki tüm Excel dosyalarını birleştirebilirsiniz.
VBA birden fazla çalışma kitabını birleştirir
Yol değişkeninde (sistem masaüstümdeki bir klasör) bahsettiğim konumu kullanan aşağıdaki kodu kullanabilirsiniz.
Dim Path As String Dim Filename As String Dim Sheet As Worksheet Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop
VBA Kullanarak Excel Dosyalarını Birleştirme Adımları
- Visual Basic Düzenleyicisini açın (Şeritte zaten varsa Geliştirici sekmesini etkinleştirdiğinizden emin olun).
- Bundan sonra, mevcut çalışma kitabını proje penceresinden (control + r) bulun ve içine yeni bir modül ekleyin.
- Modülde, sahip olduğunuz kodu (olduğu gibi) yapıştırmanız gereken bir kod penceresine sahip olacaksınız (üzerine çift tıklayın).
- Buradan, birleştirmek istediğiniz tüm Excel dosyalarının bulunduğu klasör konumuyla yol değişkeninin değerini değiştirmeniz gerekir.
- Sonunda kodu çalıştırın ve çalışma kitabındaki tüm çalışma sayfalarını geçerli dosyada alın.
Yararlı bağlantılar: Makro çalıştırma – Makro kaydedici – Visual Basic Düzenleyici – Kişisel Makrolar El Kitabı
Bu kod her dosyayı tek tek açar ve her çalışma sayfasını tek tek kopyalayıp aynı isimdeki mevcut dosyaya yapıştırır. İşte aynı kod, ancak her şeyi arka uçta çalıştırmak için ekran başlangıçta false olarak güncelleniyor.
Dim Path As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop Application.ScreenUpdating = True End Sub
Not: Birden fazla çalışma kitabındaki verileri tek bir tabloda nasıl birleştireceğinizi öğrenmek istiyorsanız bu kılavuza mutlaka göz atın.