Джой столкнулась с проблемой слияния нескольких книг вместе. Большинство книг — около 200 из них, все в одной папке — содержат по одному листу, но некоторые содержат больше. Рабочие листы из каждой из этих книг необходимо добавить в одну книгу.

Самый простой способ выполнить слияние такого масштаба — особенно если вам приходится делать это часто — с помощью макроса. Следующий макрос отображает диалоговое окно с просьбой выбрать файлы для объединения. (Вы можете выбрать несколько книг, удерживая нажатой клавишу Ctrl при нажатии каждой из них.) Он проходит по выбранному списку, открывая каждую и перемещая все ее рабочие листы в конец книги с кодом.

Sub CombineWorkbooks()

Dim FilesToOpen     Dim x As Integer     Dim Outwbk As Workbook

Set Outwbk = ActiveWorkbook

On Error GoTo ErrHandler     Application.ScreenUpdating = False

FilesToOpen = Application.GetOpenFilename _       (FileFilter:="Microsoft Excel Files (.xls), .xls", _       MultiSelect:=True, Title:="Files to Merge")



If TypeName(FilesToOpen) = "Boolean" Then         MsgBox "No Files were selected"

GoTo ExitHandler     End If

x = 1     While x <= UBound(FilesToOpen)

Workbooks.Open Filename:=FilesToOpen(x)

Sheets().Move After:=Outwbk.Sheets(Outwbk.Sheets.Count)

x = x + 1     Wend

ExitHandler:

Application.ScreenUpdating = True     Exit Sub

ErrHandler:

MsgBox Err.Description     Resume ExitHandler End Sub

В процессе добавления рабочих листов в конец книги Excel автоматически добавит (2), (3) и т. Д. При обнаружении повторяющихся имен рабочих листов. Все формулы в книге, относящиеся к другим листам, также будут обновлены, чтобы отразить новые имена.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2409) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Merging_Many_Workbooks [Объединение множества книг].