VBA。使用另一个工作簿作为模板创建新工作簿,并从列表中为每个新工作簿命名

VBA。使用另一个工作簿作为模板创建新工作簿,并从列表中为每个新工作簿命名,vba,Vba,我有一个工作簿,我需要创建150份副本。我在另一个工作簿的单元格A1到A150中列出了我要保存的内容 我已经到处找过了,但是我找不到任何能满足我需要的代码。如果方便的话,我可以将列表放入模板工作簿中,但需要在保存和关闭新工作簿之前从每个新工作簿中删除该工作表。此代码应该可以帮助您: Sub Sample() Dim wsToCopy As Worksheet, wsNew As Worksheet With Sheets("Sheet1") LastRow =

我有一个工作簿,我需要创建150份副本。我在另一个工作簿的单元格A1到A150中列出了我要保存的内容


我已经到处找过了,但是我找不到任何能满足我需要的代码。如果方便的话,我可以将列表放入模板工作簿中,但需要在保存和关闭新工作簿之前从每个新工作簿中删除该工作表。

此代码应该可以帮助您:

Sub Sample()
    Dim wsToCopy As Worksheet, wsNew As Worksheet

    With Sheets("Sheet1")
        LastRow = Sheets("Sheet1").Cells(.Rows.Count, 1).End(xlUp).Row

        For a = 1 To LastRow
            Set wsToCopy = ThisWorkbook.Sheets("TemplateSheet")
            Set wsNew = ThisWorkbook.Sheets.Add
            wsNew.Name = Sheets("Sheet1").Cells(a, 1).Value
            wsToCopy.Cells.Copy wsNew.Cells
        Next
    End With

End Sub
解释: 在名为“Sheet1”的工作表中,您需要有一个创建工作表名称的列表,从第一行开始,始终在第一列中

宏将创建一个新工作表,重命名它并复制工作表中的所有内容“TemplateSheet”。然后,将传递到下一张图纸1的行

所以基本上,只需将模板表命名为“TemplateSheet”,并在“Sheet1”的第一行添加150个名称


您可以稍后删除模板和工作表1。

观看后,您应该能够编写一个循环范围为
的宏(“A1:A150”)
。接下来,记录您以正确格式创建工作簿的宏。如果你被卡住了,你可以返回并发布代码尝试。或者,试试。这150个副本是否相同?是的,在将它们从模板保存为新文件时,这150个副本将是相同的。然后,团队将处理各个文件,并手动向其中添加不同的信息。此位不能自动执行。我只需要150份模板和列表中的新名称。谢谢,OP想要创建150个工作簿,而不是工作表。