Vba 参考新添加的工作表

Vba 参考新添加的工作表,vba,excel,Vba,Excel,我想参考新增加的表格。它们是通过循环添加的 它们被命名为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 <> "TOTA

我想参考新增加的表格。它们是通过循环添加的

它们被命名为
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
用于i=2到1000
如果工作表(“数据”).单元格(i,“A”).值”和工作表(“数据”).单元格(i,“A”).值“总计”,则
工作表(“模板”)。单元格(1,“C”)。值=工作表(“数据”)。单元格(i,“B”)。值
工作表(“模板”)。单元格(2,“C”)。值=工作表(“数据”)。单元格(i,“C”)。值
工作表(“模板”)。单元格(3,“C”)。值=工作表(“数据”)。单元格(i,“A”)。值
工作表(“模板”)。单元格(5,“D”)。值=工作表(“数据”)。单元格(i,“D”)。值
工作表(“模板”)。单元格(5,“E”)。值=工作表(“数据”)。单元格(i,“E”)。值
表。添加
n=0
n=n+1
工作表(“模板”).Cells.Copy
工作表(“图纸和编号”)。范围(“A1”)。粘贴”问题在此行
工作表(“工作表”&n)。激活此行中的“和”
Application.PrintCommunication=False
使用ActiveSheet.PageSetup
.PrintTitleRows=“”
.PrintTitleColumns=“”
以
我对标有注释的行有问题。
我的问题是如何使用
n
变量引用
Sheet1
Sheet2

请对我耐心一点,因为我对VBA很陌生。如果我的问题含糊不清或难以理解,请告诉我。

提前谢谢。

引号内的任何内容都将被视为字符串

“图纸和编号”
更改为
“图纸和编号”

此外,还应避免使用
.Activate

还有一件事:p

您无需
激活
工作表即可粘贴到其中。你可以在一行中完成。比如说

ThisWorkbook.Sheets("Sheet1").Range("A1:A5").Copy _
ThisWorkbook.Sheets("Sheet2").Range("A1")

您还可以在创建工作表时保存对工作表的引用,这样就不必猜测其名称。替换行
表。用我的前两行添加

Dim oSheet As Worksheet

Set oSheet = Sheets.Add

'***** Do what you need with the sheet
oSheet.Range("A1").Paste
Debug.Print oSheet.Name

'***** Clear the reference when you're done
Set oSheet = Nothing

+1我正在用这些信息编辑我的帖子,但后来看到了你的答案:Dcall me a lazy bum!:D