Страницы: 1
RSS
Сборка данных с нескольких листов макросом на VBA
 
Здравствуйте,

Столкнулся со статьёй https://www.planetaexcel.ru/techniques/12/7453/ где возможно собрать данные со всех листов книги в один лист. А возможно ли дополнить этот макрос, если в книге 10 листов, а надо чтобы собирало данные с нескольких листов (Например: "Лист1", "Лист2").
Код
Sub CollectDataFromAllSheets()
    Dim ws As Worksheet
     
    Set wbCurrent = ActiveWorkbook
    Workbooks.Add
    Set wbReport = ActiveWorkbook
     
    'копируем на итоговый лист шапку таблицы из первого листа
    wbCurrent.Worksheets(1).Range("A1:D1").Copy Destination:=wbReport.Worksheets(1).Range("A1")
     
    'проходим в цикле по всем листам исходного файла
    For Each ws In wbCurrent.Worksheets
     
        'определяем номер последней строки на текущем листе и на листе сборки
        n = wbReport.Worksheets(1).Range("A1").CurrentRegion.Rows.Count
         
        'задаем исходный диапазон, который надо скопировать с каждого листа - любой вариант на выбор:
        Set rngData = ws.Range("A1:D5")            'фиксированный диапазон или
        Set rngData = ws.UsedRange                 'всё, что есть на листе или
        Set rngData = ws.Range("F5").CurrentRegion    'область, начиная от ячейки F5 или
        Set rngData = ws.Range("A2", ws.Range("A2").SpecialCells(xlCellTypeLastCell))    'от А2 и до конца листа
         
        'копируем исходный диапазон и вставляем в итоговую книгу со следующей строки
        rngData.Copy Destination:=wbReport.Worksheets(1).Cells(n + 1, 1)
         
    Next ws
End Sub
По почерку принтера можно судить о том, как нервничает компьютер
 
Надо после строки
For Each ws In wbCurrent.Worksheets
Дописать проверку
If ws.name = "Лист1" or ws.name = "Лист2" then
И перед строкой next ws добавить end if
 
Шаин, 13ой строкой проверяйте If ws.Name="Лист1" Or ws.Name="Лист2" Then и 25ой строкой закройте проверку End If
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
New, Jack Famous, Спасибо! :D  :idea:  
По почерку принтера можно судить о том, как нервничает компьютер
Страницы: 1
Наверх