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

时间:2018-07-04 10:36:27

标签: vba

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

我环顾四周,但找不到能满足我需要的任何代码。如果这样比较容易,我可以将列表放入模板工作簿中,但是需要在保存和关闭它之前从每个新工作簿中删除该工作表。

1 个答案:

答案 0 :(得分:0)

此代码应为您提供帮助:

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” 中的所有内容。然后,将传递到下一个Sheet1的行。

因此,基本上,只需将模板工作表命名为“ TemplateSheet”,然后在“ Sheet1”的第一行中添加150个名称。

您可以稍后删除模板和Sheet1。