Здравствуйте, уважаемые. Очень прошу Вас помочь понять, как найти определенный диапазон значений в нескольких листах и скопировать их в одну. У меня есть несколько листов по одному шаблону, то есть шапка одинаковая и данные в них, те что в списках тоже выбираются по одному формату, но количество данных в каждой книге разное, нужно скопировать определенный диапазон только с заполненными данными (A:Q) без заголовков и без последних пустых строк, то есть без 1 строки и вставить всё это в книгу "общая" друг за другом, то есть как только вставились данные из 1 книги, следом за ними данные из 2 книги.
Макрорекодер пишет вставить данные в определенные ячейки, но я не знаю какие ячейки будут пустыми. Если это важно, то на работе используются 2007 Excel
Здравствуйте, уважаемые. Очень прошу Вас помочь понять, как найти определенный диапазон значений в нескольких листах и скопировать их в одну. У меня есть несколько листов по одному шаблону, то есть шапка одинаковая и данные в них, те что в списках тоже выбираются по одному формату, но количество данных в каждой книге разное, нужно скопировать определенный диапазон только с заполненными данными (A:Q) без заголовков и без последних пустых строк, то есть без 1 строки и вставить всё это в книгу "общая" друг за другом, то есть как только вставились данные из 1 книги, следом за ними данные из 2 книги.
Макрорекодер пишет вставить данные в определенные ячейки, но я не знаю какие ячейки будут пустыми. Если это важно, то на работе используются 2007 Excelroboaug
Добрый день. Будет работать если книги имеют названия Книга 1, 2 и т.д. (в другом случае надо условия цикла менять, например перебором всех файлов в папке) [vba]
Код
Sub Union() Dim wBf As Workbook Dim wB As Workbook
Set wB = ThisWorkbook For x = 1 To 2 'количество книг Set wBf = Workbooks("Книга" & x & ".xlsm") With wB.Sheets(1) iR = .Cells(Rows.Count, 1).End(xlUp).Row + 1 iRx = wBf.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row wBf.Sheets(1).Range("A2:Q" & iRx).Copy .Range("A" & iR).PasteSpecial (xlPasteAll) End With Next End Sub
[/vba]
Добрый день. Будет работать если книги имеют названия Книга 1, 2 и т.д. (в другом случае надо условия цикла менять, например перебором всех файлов в папке) [vba]
Код
Sub Union() Dim wBf As Workbook Dim wB As Workbook
Set wB = ThisWorkbook For x = 1 To 2 'количество книг Set wBf = Workbooks("Книга" & x & ".xlsm") With wB.Sheets(1) iR = .Cells(Rows.Count, 1).End(xlUp).Row + 1 iRx = wBf.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row wBf.Sheets(1).Range("A2:Q" & iRx).Copy .Range("A" & iR).PasteSpecial (xlPasteAll) End With Next End Sub