Объединить книги

Содержание

Чтобы объединить книги в Excel, используйте следующий код. Этот код возьмет все первые листы в каждой книге, найденной в каталоге:

123456789101112131415161718192021222324252627282930313233343536 'Объединить книгиSub MergeWBs ()Application.EnableEvents = FalseApplication.ScreenUpdating = FalseТусклый путь как строка, ThisWB как строка, lngFilecounter как длинныйDim wbDest как рабочая книга, shtDest как рабочий лист, ws как рабочий листУменьшить имя файла как строку, Wkb как книгуDim CopyRng как диапазон, Dest как диапазонDim RowofCopySheet как целое числоRowofCopySheet = 2 'Начальная строка на листах, с которых вы копируетеThisWB = ActiveWorkbook.Namepath = GetDirectory ("Выберите папку, содержащую файлы Excel, которые вы хотите объединить")Установить shtDest = ActiveWorkbook.Sheets (1)Имя файла = Dir (путь & "\ *. Xlsm", vbNormal)Если Len (Filename) = 0, то выйдите из SubСделать до Filename = vbNullStringЕсли не имя файла = ThisWB, тоУстановите Wkb = Workbooks.Open (Имя файла: = путь & "\" & Имя файла)Установите CopyRng = Wkb.Sheets (1) .Range (Cells (RowofCopySheet, 1), Cells (ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count))Установите Dest = shtDest.Range ("A" & shtDest.UsedRange.SpecialCells (xlCellTypeLastCell) .Row + 1)CopyRng.Copy DestWkb.Close FalseКонец, еслиИмя файла = Dir ()ПетляApplication.EnableEvents = TrueApplication.ScreenUpdating = TrueMsgBox «Макрос завершен»Конец подписки

Мистер Эксель

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

wave wave wave wave wave