宏以复制格式化的单元格并粘贴到新工作表中

时间:2014-10-15 13:54:05

标签: excel vba

我正在使用宏来根据摘要列表生成新工作表。除了摘要列表表,我还有另一张带有格式化单元格的表格,我希望将其复制到从摘要列表中自动创建的新表格中。我尝试使用以下代码,但它似乎不起作用。

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

1 个答案:

答案 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