我有一个 Excel 模板,其中我使用 HLookup 填充一行数据。有没有办法使用宏来:
- 根据工作簿的行数生成多个工作表?
- 是否有多个看起来像模板的工作表?
简而言之,我有两个工作表:数据摘要和模板。目前,我每次将一行复制并粘贴到数据摘要中,数据会显示在另一张工作表中模板的正确部分中。
有没有办法可以通过使用宏一次执行多个操作来加快该过程?
答案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 行复制到第二个新工作表,依此类推。
- 将要不是忽略第一行和最后一行之间的空行,并将创建一个空白表。
也许可以修改一下以满足您的需求。祝你好运!