Импортирайте листове с помощта на Excel VBA - Лесни макроси на Excel

Съдържание

По -долу ще разгледаме програма в Excel VBA че импортира листове от други Excel файлове в един Excel файл.

Изтеглете Book4.xlsx, Book5.xlsx и ги добавете към „C: \ test \“

Ситуация:

Добавете следните кодови редове към командния бутон:

1. Първо, декларираме две променливи от тип String, обект на работен лист и една променлива от тип Integer.

Dim директория като String, fileName As String, лист като работен лист, общо като цяло число

2. Изключете актуализирането на екрана и показването на сигнали.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Инициализирайте директорията с променливи. Използваме функцията Dir, за да намерим първия *.xl ?? файл, съхраняван в тази директория.

директория = "c: \ test \"
fileName = Dir (директория & "*.xl ??")

Забележка: Функцията Dir поддържа използването на заместващи символи с множество знаци (*) и единични (?) За търсене на всички различни видове файлове на Excel.

4. Променливата fileName сега съдържа името на първия Excel файл, намерен в директорията. Добавете цикъл „До докато“.

Do While име на файл ""
Цикъл

Добавете следните кодови редове (на 5, 6, 7 и 8) към цикъла.

5. Няма прост начин за копиране на работни листове от затворени Excel файлове. Затова отваряме файла Excel.

Workbooks.Open (директория и име на файл)

6. Импортирайте листовете от файла Excel в import-sheet.xlsm.

За всеки лист в работни книги (fileName) .Работни листове
total = Работни книги ("import-sheets.xlsm"). Worksheets.count
Работни книги (име на файл). Работни листове (име.лист). Копиране _
след: = Работни книги ("import-sheets.xlsm"). Работни листове (общо)
Следващият лист

Обяснение: променливата total поддържа проследяване на общия брой работни листове на import-sheet.xlsm. Използваме метода Copy на обекта Worksheet, за да копираме всеки работен лист и да го поставим след последния работен лист на import-sheets.xlsm.

7. Затворете файла Excel.

Работни книги (име на файл). Затвори

8. Функцията Dir е специална функция. За да получите другите файлове на Excel, можете да използвате функцията Dir отново без аргументи.

fileName = Dir ()

Забележка: Когато повече имена на файлове не съвпадат, функцията Dir връща низ с нулева дължина (""). В резултат на това Excel VBA ще напусне цикъла Do While.

9. Включете актуализирането на екрана и показването на предупреждения отново (извън цикъла).

Application.ScreenUpdating = Вярно
Application.DisplayAlerts = Вярно

10. Тествайте програмата.

Резултат:

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave