我想根据我们在Excel中使用VBA定期使用的模板动态生成自定义数量的工作表。多次动态复制工作表并在Excel中使用VBA重命名
我已经创建了一个“概述”页面,我们可以在其中输入一个用于命名新工作表的范围,但随后想使用隐藏的“主”工作表来生成这些新工作表的内容。
我下面的代码根据范围生成正确数量的页面并复制我们的主模板页面,但不会将两者合并,并将它们留在单独的页面中。
Sub test()
Dim MyNames As Range, MyNewSheet As Range
Set masterSheet = ThisWorkbook.Worksheets("Master")
Set MyNames = Range("A1:A6").CurrentRegion ' load range into variable
For Each MyNewSheet In MyNames.Cells ' loop through cell range
masterSheet.Copy ThisWorkbook.Sheets(Sheets.Count) 'copy master template sheet
Sheets.Add.Name = MyNewSheet.Value
Next MyNewSheet
MyNames.Worksheet.Select ' move selection to original sheet
End Sub
正如你看到的,代码生成两个命名(空白)工作表,并复制我的主人的工作表,默认为命名为“主()”。
我觉得你只是NEET与此'ActiveSheet.name = MyNewSheet.Value' – Fadi
不知道,但昏暗的WS作为excel.worksheet替换该行'Sheets.Add.Name = MyNewSheet.Value':集ws = masterSheet.Copy ThisWorkbook.Sheets(Sheets.Count):ws.name = mynewsheet.value –
@DanBeard,不客气,我张贴这个答案 – Fadi