我一直试图创建一个数组或某种类型的对象,我可以使用它来遍历工作簿中的工作表子集。创建Excel可以循环到的工作表列表的最佳方法是什么?在我的脑海中,我在想,好吧,我将创建一个数组,并将其设置为我需要的工作簿的名称。但是,当我尝试这样做时,Excel抱怨没有对象。数组不是Excel中的对象吗?
另外,我应该如何声明一个工作表列表?变异?字符串?
有人可以给我一些想法吗?
以下是我的代码。现在,请忽略我使用三种不同粘贴类型的事实。那是因为我无法让Excel准确地粘贴我需要的内容。我稍后会改进它。
Sub CopyMacro3()
Dim CurrentSheet As Worksheet
Dim vSheets As Variant
Set pasteCell = Range("A2")
vSheets = Array("CAS-J30F-70LTV", "CAS-J30F-80LTV")
For Each CurrentSheet In vSheets
CurrentSheet.Activate
Range("A1:T80").Copy
Worksheets("print").Activate
pasteCell.Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
CurrentSheet.Activate
Range("A1:T80").Copy
Worksheets("print").Activate
pasteCell.Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
CurrentSheet.Activate
Range("A1:T80").Copy
Worksheets("print").Activate
pasteCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Set pasteCell = pasteCell.Offset(0, 20)
Next
End Sub
答案 0 :(得分:2)
你真的不需要变量 - 你可以使用:
for each currentSheet in Sheets(Array("CAS-J30F-70LTV", "CAS-J30F-80LTV"))