Обьединение нескольких листов данных в один макросом - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, подскажите пожалуйста. У меня есть 30 листов с данными Мне нужно объединить их в один лист. Как мне записать макрос? Я копирую данные из первого листа выделяю до последней ячейки с данными, вставляю в общий лист, далее перехожу на новый лист, так же копирую данные, выделяю до последней ячейки. Но у меня кол-во ячеек в каждом листе может меняться, как правильно прописать код?
Листинг программы
  1. Rows("2").Select
  2. Range(Selection, Selection.End(xlDown)).Select
  3. Selection.Copy
  4. ActiveWindow.ScrollWorkbookTabs Position:=xlLast
  5. Sheets("Общий").Select
  6. Range("A2").Select
  7. ActiveSheet.Paste
  8. ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
  9. ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
  10. Sheets("PIL2PIL_2").Select
  11. Rows("2").Select
  12. Range(Selection, Selection.End(xlDown)).Select
  13. Application.CutCopyMode = False
  14. Selection.Copy
  15. ActiveWindow.ScrollWorkbookTabs Position:=xlLast
  16. Sheets("Общий").Select

Решение задачи: «Обьединение нескольких листов данных в один макросом»

textual
Листинг программы
  1. Sub m()
  2.     For i = 1 To Sheets.Count
  3.         If Sheets(i).Name <> "Общий" Then
  4.            myR_Total = Sheets("Общий").Range("A" & Sheets("Общий").Rows.Count).End(xlUp).Row
  5.            myR_i = Sheets(i).Range("A" & Sheets(i).Rows.Count).End(xlUp).Row
  6.            Sheets(i).Rows("1:" & myR_i).Copy Destination:=Sheets("Общий").Range("A" & myR_Total + 1)
  7.         End If
  8.     Next
  9. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы