Bir dizindeki dosyalar arasında nasıl geçiş yapılır ve verileri Excel'deki bir ana sayfaya kopyalarım?
Bir klasörde birden çok Excel çalışma kitabı olduğunu varsayarsak ve tüm bu Excel dosyaları arasında döngü yapmak ve aynı addaki belirli çalışma sayfalarından verileri Excel'de bir ana çalışma sayfasına kopyalamak istiyorsanız, ne yapabilirsiniz? Bu makale, bunu başarmak için ayrıntılı bir yöntem sunar.
Bir dizindeki dosyalar arasında döngü yapın ve verileri VBA kodu ile bir ana sayfaya kopyalayın
Bir dizindeki dosyalar arasında döngü yapın ve verileri VBA kodu ile bir ana sayfaya kopyalayın
A1: D4 aralığındaki belirtilen verileri belirli bir klasördeki tüm çalışma kitaplarından 1 çalışma sayfasından bir ana sayfaya kopyalamak istiyorsanız, lütfen aşağıdaki işlemleri gerçekleştirin.
1. Çalışma kitabında bir ana çalışma sayfası oluşturacaksınız, Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül. Ardından, VBA kodunu kod penceresine kopyalayın.
VBA kodu: bir klasördeki dosyalar arasında döngü yapı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. Tuşuna basın. F5 kodu çalıştırmak için anahtar.
4. Açılışta Araştır penceresi, lütfen döngü yapacağınız dosyaları içeren klasörü seçin ve ardından OK buton. Ekran görüntüsüne bakın:
Ardından, mevcut çalışma kitabının sonunda "Yeni Sayfa" adlı bir ana çalışma sayfası oluşturulur. Ve seçilen klasördeki tüm Sayfa1'in A4: D1 aralığındaki veriler çalışma sayfasının içinde listelenir.
İlgili yazılar:
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!