Добрый день, на данном форуме был макрос по копированию листов из выбранных книг в текущую.
Подскажите пожалуйста, как корректно изменить код так, чтобы он копировал указанный диапазон (например, А1:A13) со всех листов1 указанного набора книг в текущую книгу, но делал это в выделенную мной ячейку. Н-р: из первых двух книг данные копируются в столбцы A,B.
А при каждом добавлении новых книг, данные копировались бы, начиная со следующего столбца С,D,E..... И т.д.
Подскажите пожалуйста, как корректно изменить код так, чтобы он копировал указанный диапазон (например, А1:A13) со всех листов1 указанного набора книг в текущую книгу, но делал это в выделенную мной ячейку. Н-р: из первых двух книг данные копируются в столбцы A,B.
А при каждом добавлении новых книг, данные копировались бы, начиная со следующего столбца С,D,E..... И т.д.
Код |
---|
Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer Application.ScreenUpdating = False 'отключаем обновление экрана для скорости 'вызываем диалог выбора файлов для импорта FilesToOpen = Application.GetOpenFilename _ (FileFilter:="All files (*.*), *.*", _ MultiSelect:=True, Title:="Files to Merge") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "Не выбрано ни одного файла!" Exit Sub End If 'проходим по всем выбранным файлам x = 1 While x <= UBound(FilesToOpen) Set importWB = Workbooks.Open(Filename:=FilesToOpen(x)) Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) importWB.Close savechanges:=False x = x + 1 Wend Application.ScreenUpdating = True End Sub |