VBA Excel:在工作簿中已经添加了具有模板的工作表
快速提问:
我在工作簿中有一个工作表TEMPLATE
。 我想在工作簿中添加一些类似的工作表,使用TEMPLATE
作为模板。
如何在VBA Excel中执行此操作?
对于5个额外的TEMPLATES
你需要在循环中复制5次:
Dim i as byte for i=1 to 5 Sheets("TEMPLATE").Copy after:=sheets("TEMPLATE") Next i
这是一个例子,使13副本:
Sub qwerty() For i = 1 To 13 Sheets("TEMPLATE").Copy before:=Sheets(1) Next i End Sub
修改这个以适应你的需求。
只要在这里注册,以防有人像我一样绊倒了这个答案,如果你不想复制整个表格,例如,如果你的“模板”只是另一个表格的范围
ThisWorkbook.Sheets("Master").Range("A2:L65536").Copy Destination:=ThisWorkbook.Sheets.Add(, Sheets("Data")).Range("A1")
这里重要的是:
目的地需要一个范围
Sheet.add返回一个工作表对象。
所以不是传递sheetX.range作为Destination参数,而是传递CreateNewSheetFunction.Range
可能不是代码可变性的一个很好的例子,但仍然是一个选项