Bir dizindeki çalışma kitaplarını tek tek açarak verileri Excel’de bir ana sayfaya nasıl kopyalarsınız?
Diyelim ki bir klasörde birden fazla Excel çalışma kitabınız var ve bu dosyaların tamamından belirli bir çalışma sayfasındaki (örneğin Sayfa1) tutarlı bir veri aralığını tek bir Ana Çalışma Sayfası’na kopyalamak istiyorsunuz. Bu kılavuz, Excel’de bu süreci kolaylaştırmak için adım adım bir VBA çözümü sunar.
VBA koduyla bir dizindeki çalışma kitaplarını dolaşın ve verileri bir ana sayfaya kopyalayın
VBA koduyla bir dizindeki dosyaları dolaşın ve verileri bir ana sayfaya kopyalayın
Belirli bir klasördeki tüm çalışma kitaplarının Sayfa1 çalışma sayfalarındaki A1:D4 aralığından veri kopyalayıp bunları bir ana sayfaya yapıştırmak istiyorsanız, aşağıdaki adımları izleyin.
1. Bir Ana Çalışma Sayfası oluşturacağınız çalışma kitabında, Alt+F11 tuşlarına basarak Microsoft Visual Basic for Applications penceresini açın.
2. Microsoft Visual Basic for Applications penceresinde, Ekle > Modül seçeneğine tıklayın. Ardından aşağıdaki VBA kodunu kod penceresine kopyalayın.
VBA kodu: bir klasördeki dosyaları dolaşın ve verileri bir ana sayfaya kopyalayın
Sub Merge2MultiSheets()
Dim xRg As Range
Dim xSelItem As Variant
Dim xFileDlg As FileDialog
Dim xFileName, xSheetName, xRgStr As String
Dim xBook, xWorkBook As Workbook
Dim xSheet As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
xSheetName = "Sheet1"
xRgStr = "A1:D4"
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
With xFileDlg
If .Show = -1 Then
xSelItem = .SelectedItems.Item(1)
Set xWorkBook = ThisWorkbook
Set xSheet = xWorkBook.Sheets("New Sheet")
If xSheet Is Nothing Then
xWorkBook.Sheets.Add(after:=xWorkBook.Worksheets(xWorkBook.Worksheets.Count)).Name = "New Sheet"
Set xSheet = xWorkBook.Sheets("New Sheet")
End If
xFileName = Dir(xSelItem & "\*.xlsx", vbNormal)
If xFileName = "" Then Exit Sub
Do Until xFileName = ""
Set xBook = Workbooks.Open(xSelItem & "\" & xFileName)
Set xRg = xBook.Worksheets(xSheetName).Range(xRgStr)
xRg.Copy xSheet.Range("A65536").End(xlUp).Offset(1, 0)
xFileName = Dir()
xBook.Close
Loop
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub Not:
3. Kodu çalıştırmak için F5 tuşuna basın.
4. Açılan Göz At penceresinde, dolaşmak istediğiniz dosyaların bulunduğu klasörü lütfen seçin, ardından Tamam düğmesine tıklayın. Ekran görüntüsüne bakın:

Ardından, «New Sheet» adlı bir Ana Çalışma Sayfası Geçerli Çalışma Kitabı’nın sonuna eklenir ve seçilen klasördeki tüm Sayfa1 çalışma sayfalarının A1:D4 aralığındaki veriler bu sayfaya listelenir.
İlgili makaleler:
En İyi Office Üretkenlik Araçları
Kutools for Excel ile Excel becerilerinizi üst seviyeye taşıyın ve hiç yaşamadığınız bir verimlilik deneyimi yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli arayüz getirir ve işinizi çok daha kolay hale getirir
- Word, Excel ve PowerPoint içinde sekmeli düzenleme ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Birden fazla belgeyi aynı pencerenin yeni sekmelerinde açın ve oluşturun, yeni pencerelerde değil.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir yükleyiciyle!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint için eklentileri ile Office Tab Pro’yu içerir; bu da Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek yükleyici, tek lisans— birkaç dakikada kurulum (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamaları arasında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi değer— tek tek eklenti satın alımına göre tasarruf edin