/ / Excel VBA kullanarak Sayfaları İçe Aktar

Excel VBA kullanarak Sayfaları İçe Aktar

Aşağıda bir programa bakacağız Excel VBA o diğer Excel dosyalarındaki sayfaları tek bir Excel dosyasına aktarır.

Book1.xls, Book2.xls indirin ve bunları "C: test" e ekleyin

Durum:

Excel VBA kullanarak Sayfaları İçe Aktar

Komut düğmesine aşağıdaki kod satırlarını ekleyin:

1. İlk olarak, tip String'in iki değişkenini, bir Çalışma Sayfası nesnesini ve Tamsayı türünde bir değişken olduğunu beyan ederiz.

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer

2. Ekran güncellemesini ve uyarıları görüntülemeyi kapatın.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Değişken dizini başlat. İlk * .xl'yi bulmak için Dir işlevini kullanıyoruz? Bu dizinde saklanan dosya.

directory = "c:test"
fileName = Dir(directory & "*.xl??")

Not: Dir işlevi, tüm farklı Excel dosyaları türlerini aramak için çoklu karakter (*) ve tek karakterli (?) Joker karakterlerin kullanımını destekler.

4. fileName değişkeni artık dizinde bulunan ilk Excel dosyasının adını tutar. Döngü Yaparken Ekle.

Do While fileName <> ""

Loop

Aşağıdaki kod satırlarını (5, 6, 7 ve 8) döngüye ekleyin.

5. Çalışma sayfalarını kapalı Excel dosyalarından kopyalamanın basit bir yolu yoktur. Bu nedenle Excel dosyasını açıyoruz.

Workbooks.Open (directory & fileName)

6. Sayfaları Excel dosyasından import-sheet.xls dosyasına aktarın.

For Each sheet In Workbooks(fileName).Worksheets
    total = Workbooks("import-sheets.xls").Worksheets.count
    Workbooks(fileName).Worksheets(sheet.Name).Copy _
    after:=Workbooks("import-sheets.xls").Worksheets(total)
Next sheet

Açıklama: Değişken toplam, import-sheet.xls dosyasının toplam çalışma sayısının kaydını tutar. Her çalışma sayfasını kopyalamak ve import-sheets.xls'nin son çalışma sayfasından sonra yapıştırmak için Çalışma Sayfası nesnesinin Kopyalama yöntemini kullanırız.

7. Excel dosyasını kapatın.

Workbooks(fileName).Close

8. Dir fonksiyonu özel bir işlevdir. Diğer Excel dosyalarını almak için Dir işlevini argüman olmadan tekrar kullanabilirsiniz.

fileName = Dir()

Not: Daha fazla dosya adı eşleşmediğinde, Dir işlevi sıfır uzunluklu bir dize ("") döndürür. Sonuç olarak, Excel VBA Do While döngüsünden ayrılacak.

9. Ekran güncellemesini açın ve uyarıları tekrar görüntüleyin (döngü dışında).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Programı test edin.

Sonuç:

Sayfaları Sona Aktar

Ayrıca oku: