Импорт листов с помощью Excel VBA - Easy Excel Macros

Содержание

Ниже мы рассмотрим программу на Excel VBA тот импортирует листы из других файлов Excel в один файл Excel.

Загрузите Book4.xlsx, Book5.xlsx и добавьте их в "C: \ test \"

Ситуация:

Добавьте следующие строки кода к командной кнопке:

1. Сначала мы объявляем две переменные типа String, объект Worksheet и одну переменную типа Integer.

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

2. Отключите обновление экрана и отображение предупреждений.

Application.ScreenUpdating = False
Application.DisplayAlerts = False

3. Инициализируйте каталог переменных. Мы используем функцию Dir, чтобы найти первый * .xl ?? файл, хранящийся в этом каталоге.

directory = "c: \ test \"
fileName = Dir (каталог & "* .xl ??")

Примечание. Функция Dir поддерживает использование подстановочных знаков из нескольких символов (*) и одного символа (?) Для поиска всех типов файлов Excel.

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

Сделать пока имя_файла ""
Петля

Добавьте в цикл следующие строки кода (5, 6, 7 и 8).

5. Нет простого способа скопировать листы из закрытых файлов Excel. Поэтому открываем файл Excel.

Workbooks.Open (каталог и имя файла)

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

Для каждого листа в книгах (имя_файла).
total = Книги ("import-sheet.xlsm"). Worksheets.count
Рабочие книги (имя файла). Рабочие листы (имя листа). Копировать _
after: = Рабочие книги ("import-sheet.xlsm"). Рабочие листы (всего)
Следующий лист

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

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

Рабочие книги (имя_файла) .Закрыть

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

fileName = Dir ()

Примечание. Если имена файлов больше не совпадают, функция Dir возвращает строку нулевой длины (""). В результате Excel VBA выйдет из цикла Do While.

9. Включите обновление экрана и снова отображение предупреждений (вне цикла).

Application.ScreenUpdating = True
Application.DisplayAlerts = True

10. Протестируйте программу.

Результат:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave