如何使用来自数组的数据来处理工作表
我面临以下问题:
我已经编写了代码来读取一系列的数据,将数据存储在数组中,然后用数组中的名称插入工作表。 工作正常,代码如下:
For intZaehler = 0 To UBound(arrGliederungsebenen) - 1 ActiveWorkbook.Worksheets.Add(before:=ActiveWorkbook.Worksheets("7_Steuern")).Name = arrGliederungsebenen(intZaehler)
arrGliederungsebenen已经存储了数据,我想用新的名字命名。 我保持简单的命名:
arrGliederungsebenen(0) = 1 arrGliederungsebenen(1) = 1.2 arrGliederungsebenen(2) = 1.3 arrGliederungsebenen(3) = 2.1 and so forth
接下来,我想将以前复制的模板粘贴到newley插入的表单中。 我现在面临的问题是如何正确处理新添加的表格:
不幸的是Activesheet.paste Destination:=Worksheets(arrGliederungsebenen(intZaehler).Name).Range("A1:0354").Offset(, 24
)不起作用。
任何人都可以告诉我,如何正确处理工作表的名称与数组中的数据?
我更喜欢将Worksheet
对象设置为我正在添加的当前Worksheet
(在我的代码Dim Sht As Worksheet
),这使得代码更短,更清洁,更易于debugging。
就这个例子而言,我使用Sheets("7_Steuern").Range("C7:E9")
来复制和粘贴每张纸。
代码 (testing)
Option Explicit Sub MultipleCreateSheets() Dim intZaehler As Integer Dim Sht As Worksheet Dim arrGliederungsebenen(3) As String arrGliederungsebenen(0) = 1 arrGliederungsebenen(1) = 1.2 arrGliederungsebenen(2) = 1.3 arrGliederungsebenen(3) = 2.1 For intZaehler = 0 To UBound(arrGliederungsebenen) - 1 Set Sht = ActiveWorkbook.Worksheets.Add(before:=ActiveWorkbook.Worksheets("7_Steuern")) Sht.Name = arrGliederungsebenen(intZaehler) Sheets("7_Steuern").Range("C7:E9").Copy Destination:=Sht.Range("A1:O354").Offset(, 24) Next intZaehler End Sub
什么是。的.Name
? 对我来说似乎是虚假的。
Destination:=Worksheets(arrGliederungsebenen(intZaehler)
.Name ).Range("A1:0354").Offset(, 24)
—>
Destination:=Worksheets(arrGliederungsebenen(intZaehler)).Range("A1:0354").Offset(, 24)