使用 Excel 中的相同模板生成工作表

使用 Excel 中的相同模板生成工作表

我有一个 Excel 模板,其中我使用 HLookup 填充一行数据。有没有办法使用宏来:

  1. 根据工作簿的行数生成多个工作表?
  2. 是否有多个看起来像模板的工作表?

简而言之,我有两个工作表:数据摘要和模板。目前,我每次将一行复制并粘贴到数据摘要中,数据会显示在另一张工作表中模板的正确部分中。

有没有办法可以通过使用宏一次执行多个操作来加快该过程?

答案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

请注意,“A“中sh.Range("A1048576")定义要搜索行的列。

此代码:

  • 计算到指定列中使用的最后一行并创建那么多新的工作表(“模板”工作表的副本)。
  • 将“数据”表的第 1 行复制到第一个新工作表的 A2 中(因为我假设那里有一个带有标题的表格),将“数据”表的第 2 行复制到第二个新工作表,依此类推。
  • 将要不是忽略第一行和最后一行之间的空行,并将创建一个空白表。

也许可以修改一下以满足您的需求。祝你好运!

相关内容