Bir dizindeki çalışma kitaplarını dolaşarak verileri Excel'deki bir ana sayfaya nasıl kopyalayabilirsiniz?
Diyelim ki bir klasörde birden fazla Excel çalışma kitabı var ve bu dosyaların tamamında belirli bir aralıktaki (örneğin, Sayfa1) verileri ana bir çalışma sayfasına kopyalamak için dolaşmanız gerekiyor. Bu kılavuz, bu süreci Excel'de kolaylaştırmak için ayrıntılı bir VBA çözümü sunar.
VBA kodu ile bir dizindeki çalışma kitaplarını dolaşma ve verileri ana sayfaya kopyalama
VBA kodu ile bir dizindeki dosyaları dolaşma ve verileri ana sayfaya kopyalama
Belirli bir klasördeki tüm çalışma kitaplarının Sayfa1 çalışma sayfalarındaki A1:D4 aralığından verileri kopyalamak ve bunları bir ana sayfaya yapıştırmak istiyorsanız, lütfen aşağıdaki adımları izleyin.
1. Ana çalışma sayfasını oluşturacağınız çalışma kitabında, Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.
2. Microsoft Visual Basic for Applications penceresinde, Ekle > Modül'e tıklayın. Ardından aşağıdaki VBA kodunu kod penceresine kopyalayın.
VBA kodu: Bir klasördeki dosyaları dolaşma ve verileri ana sayfaya kopyalama
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çılır Gözat penceresinde, dolaşacağınız dosyaları içeren klasörü seçin ve ardından Tamam düğmesine tıklayın. Ekran görüntüsüne bakın:
“Yeni Sayfa” adlı bir ana çalışma sayfası, mevcut çalışma kitabının sonuna eklenir. Ve seçilen klasördeki tüm Sayfa1’lerdeki A1:D4 aralığındaki veriler, çalışma sayfasının içine listelenir.
İlgili makaleler:
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.





- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin