У меня есть шаблон Excel, где я использую HLookup для заполнения одной строки данных. Есть ли способ использовать макросы для:

  1. Создать несколько листов на основе количества строк в книге?
  2. Есть несколько листов, которые будут выглядеть как шаблон?

Короче говоря, у меня есть две таблицы: Сводка данных и Шаблон. В настоящее время я копирую и вставляю одну строку за раз в сводку данных, и данные отображаются в соответствующем разделе шаблона на другой рабочей таблице.

Есть ли способ, которым я могу ускорить процесс, выполняя более одного за раз с использованием макросов?

1 ответ1

1

Поскольку я не совсем уверен, как выглядит ваш файл, мне придется немного угадать. Но вы можете попробовать это:

Sub distribute()
    Dim sh As Worksheet
    Dim k As Long, i As Integer
    Set sh = ThisWorkbook.Sheets("Data")
    k = sh.Range("A1048576").End(xlUp).Row

    For i = 1 To k

        Worksheets("Template").Copy After:=Sheets(Sheets.Count)
        sh.Rows(i).Copy Range("A2")

    Next

End Sub

Обратите внимание, что « А » в sh.Range("A1048576") определяет столбец для поиска строк.

Этот код:

  • Считает до последней строки, использованной в указанном столбце, и создает столько новых рабочих листов (копий рабочего листа "шаблона").
  • Копирует строку 1 из листа "Данные" в A2 первого нового рабочего листа (потому что я просто предполагаю, что там есть таблица с заголовком), строку 2 из "Данные" во второй новый рабочий лист и так далее.
  • НЕ будет игнорировать пустые строки между первой и последней строкой, и создаст пустой лист.

Может быть, это можно изменить в соответствии с вашими потребностями. Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .