我想引用新添加的工作表。它们是通过循环添加的。
它们被命名为Sheet1
、Sheet2
、Sheet3
等。我还有一个变量n
,它等于创建 Sheet1
时等于 1,创建 Sheet2
时等于 2,创建 Sheet3
时等于 3,依此类推。
我的代码如下所示:
For i = 2 To 1000
If Worksheets("DATA").Cells(i, "A").Value <> "" And Worksheets("DATA").Cells(i, "A").Value <> "TOTAL" Then
Worksheets("Template").Cells(1, "C").Value = Worksheets("DATA").Cells(i, "B").Value
Worksheets("Template").Cells(2, "C").Value = Worksheets("DATA").Cells(i, "C").Value
Worksheets("Template").Cells(3, "C").Value = Worksheets("DATA").Cells(i, "A").Value
Worksheets("Template").Cells(5, "D").Value = Worksheets("DATA").Cells(i, "D").Value
Worksheets("Template").Cells(5, "E").Value = Worksheets("DATA").Cells(i, "E").Value
Sheets.Add
n = 0
n = n + 1
Worksheets("Template").Cells.Copy
Worksheets("Sheet & n").Range("A1").Paste 'Problem is in this line
Worksheets("Sheet" & n).Activate ' And in this line
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
我对标有注释的行有疑问。
我的问题是如何使用 n
变量引用 Sheet1
、Sheet2
等?
请耐心等待,因为我对 VBA 还很陌生。如果我的问题含糊或难以理解,请告诉我。
预先感谢您。
最佳答案
引号 ""
内的任何内容都将被视为字符串。
将“Sheet & n”
更改为“Sheet”&n
此外,您应该避免使用.Activate
。 INTERESTING READ
还有一件事:P
您无需激活
工作表即可粘贴到其中。你可以用一行来完成。例如。
ThisWorkbook.Sheets("Sheet1").Range("A1:A5").Copy _
ThisWorkbook.Sheets("Sheet2").Range("A1")
关于vba - 引用新添加的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19859526/