Excel - макрос для копіювання даних з різних аркушів

Проблема

Я намагаюся скопіювати дані з різних аркушів до основного аркуша відповідно до наступних критеріїв

  • Майстер-лист слід створювати кожного разу, коли я виконую макрос, стираючи попередній основний аркуш.
  • Усі заголовки стовпців ідентичні.
  • Для основного аркуша слід скопіювати тільки один заголовок (тобто перший рядок не слід копіювати з другого аркуша.)
  • Якщо нульові значення в конкретній комірці з'являються, то цей рядок не слід копіювати.
  • Майстер-лист слід відсортувати відповідно до стовпця, про який я згадую при запуску макросу. (Тобто я призначу в полі повідомлення поле / стовпець, який слід відсортувати в основному аркуші.)

Рішення

У мене є сумніви, що ви хочете скопіювати дані за всі місяці, щоб освоїти лист або за місяць за місяцем. Я припускав всі місяці. У цьому випадку спробуйте цей макрос

 Sub-тест () Dim j As Long, k As Long, r As Range j = Worksheets.Count With Worksheets ("master") Встановити r = Range (.Range ("A2"), .Range ("A2"). End (xlDown)) r.EntireRow.Delete End With Для k = 1 До j Якщо робочі аркуші (k) .Name = "master" Тоді GoTo errorhandler With Worksheets (k) Якщо .Range ("A2") = "" Тоді GoTo errorhandler Встановіть r = Range (.Range ("A2"), .Range ("A2"). End (xlDown)) r.EntireRow.Copy Worksheets ("master"). Cells (Rows.Count, "A"). End (xlUp) .Offset (1, 0) .PasteSpecial Закінчити за допомогою errorhandler: Next k End Sub 

У вашому файлі є занадто багато порожніх модулів. Видалити всі з них, крім модуля1.

Зверніть увагу на це

Вирішено venkat1926

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

Кращі Поради