Excel - Копіюйте дані з діапазону аркушів на основний аркуш

Проблема

Мені потрібно розробити макрос, який збиратиме дані з ряду аркушів у робочій книзі.

Макрос має:

  • Скопіюйте дані для діапазону аркушів після аркуша "Всі терміни" і перед аркушем "Шаблон". Так що всі аркуші потрапляють між аркушами "All Deadlines" і аркушем "Template".
  • Мені потрібні всі рядки, які містять в них дані з рядка 14 і далі для аркушів у діапазоні, але для макросу лише для копіювання рядків, які включають дані
  • Після запуску макрос повинен скопіювати дані на аркуш "Всі терміни", вперше вставити в рядок 3 і вставити дані з кожного наступного аркуша нижче останнього попереднього запису.
  • При запуску макрос повинен видалити всі дані з рядка 3 і нижче на аркуші "Всі терміни" (дані, зібрані з попередніх запусків макросу).

Рішення

Налаштуйте код нижче, щоб відповідати вашим вимогам:

 Sub MoveData () Dim ws As Worksheet Dim lRow, dRow As Integer Sheets ("Всі терміни") Рядки ("3:" & Діапазон ("A" & Rows.Count) .End (xlUp) .Row) .ClearContents For Кожен ws In Sheets Якщо ws.Name = "Створити новий проект" _ Або ws.Name = "Інформаційна панель проекту" _ Або ws.Name = "Всі терміни" _ Або ws.Name = "Шаблон" Тоді GoTo Nextws dRow = Листи ( Діапазон ("A" & Rows.Count) .End (xlUp) .Offset (1, 0) .Row lRow = Sheets (ws.Name) .Range ("A" & Rows.Count). End (xlUp) .Row Sheets (ws.Name) .Rows ("14:" & lRow) .Copy Sheets ("Всі терміни"). Діапазон ("A" & dRow) Nextws: Next ws End Sub 

Завдяки TrowaD за цей відгук.

Попередня Стаття Наступна Стаття

Кращі Поради