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ı

  1. Visual Basic Düzenleyicisini açın (Şeritte zaten varsa Geliştirici sekmesini etkinleştirdiğinizden emin olun).
    open the visual basic editor
  2. Bundan sonra, mevcut çalışma kitabını proje penceresinden (control + r) bulun ve içine yeni bir modül ekleyin.
    locate the current workbook
  3. 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).
    code window in the module
  4. 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.
    change the value for the path variable
  5. 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ırmaMakro kaydediciVisual Basic DüzenleyiciKiş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.

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir