Обьединение нескольких листов данных в один макросом - VBA
Формулировка задачи:
Здравствуйте, подскажите пожалуйста.
У меня есть 30 листов с данными
Мне нужно объединить их в один лист. Как мне записать макрос?
Я копирую данные из первого листа выделяю до последней ячейки с данными, вставляю в общий лист, далее перехожу на новый лист, так же копирую данные, выделяю до последней ячейки. Но у меня кол-во ячеек в каждом листе может меняться, как правильно прописать код?
Листинг программы
- Rows("2").Select
- Range(Selection, Selection.End(xlDown)).Select
- Selection.Copy
- ActiveWindow.ScrollWorkbookTabs Position:=xlLast
- Sheets("Общий").Select
- Range("A2").Select
- ActiveSheet.Paste
- ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
- ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
- Sheets("PIL2PIL_2").Select
- Rows("2").Select
- Range(Selection, Selection.End(xlDown)).Select
- Application.CutCopyMode = False
- Selection.Copy
- ActiveWindow.ScrollWorkbookTabs Position:=xlLast
- Sheets("Общий").Select
Решение задачи: «Обьединение нескольких листов данных в один макросом»
textual
Листинг программы
- Sub m()
- For i = 1 To Sheets.Count
- If Sheets(i).Name <> "Общий" Then
- myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row
- myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row
- Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 1)
- End If
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д