我正在使用宏来根据摘要列表生成新工作表。除了摘要列表表,我还有另一张带有格式化单元格的表格,我希望将其复制到从摘要列表中自动创建的新表格中。我尝试使用以下代码,但它似乎不起作用。
Sub createsheets()
Dim data_export As Worksheet
Dim newSheet As Worksheet
Dim MasterForm As Worksheet
Dim r As Integer
r = 2
Do While Sheets("data_export").Cells(r, 1).Value <> ""
Set newSheet = Sheets.Add
newSheet.Name = Sheets("data_export").Cells(r, 1).Value
Sheets("MasterForm").Range("A1:E13").Copy
Sheets("newSheet.Name").Range("A1:E13").Paste
r = r + 1
Loop
End Sub
答案 0 :(得分:0)
你很亲密。 Sheets("newSheet.Name").Range("A1:E13").Paste
虽然错了。如果您在newSheet.Name
周围加上引号,VBA只会看到字符串"newSheet.Name"
而您可能没有名称为"newSheet.Name"
的标签,因为这样会很奇怪。
您已经在变量newSheet
中存储了一个工作表对象,无需再次使用Sheets
对象。只是做:
newSheet.Range("A1:E13").Paste
此外,您无需涉及系统剪贴板即可复制/粘贴。只是做:
newSheet.Range("A1:E13").value = Sheets("MasterForm").Range("A1:E13").value