所以我试图使用-with ...结束 - 在-for..next-循环中。我们的想法是将所有这些东西放在每张纸上。下面的代码是伪
For Sheet = Sheet1 to Sheet10
With Sheet
...code
End With
Next
所以我有10张。 Sheet1,Sheet2,Sheet3等 我似乎无法弄清楚如何遍历所有这些表格
答案 0 :(得分:6)
你应该试试这个答案
https://stackoverflow.com/a/21918281/1214743
$test: ( item-one: red, item-two: green, item-three: $foo );
如果您不想选择工作簿中的每个工作表,则可以创建工作表名称的数组,然后通过它们进行操作。
答案 1 :(得分:0)
Dim ws As Excel.Worksheet
Dim iIndex As Integer
For iIndex = 1 To ActiveWorkbook.Worksheets.count
Set ws = Worksheets(iIndex)
ws.Activate
'Do something here.
ws.Range("A2").Value = "SomeValue"
Next iIndex
答案 2 :(得分:0)
你这样做的方法不起作用,因为Sheet不是一个对象。下面的每个解决方案将为您提供一个工作表对象,并允许您使用。
Dim wks as Worksheet
For Each wks in ThisWorkbook.Worksheets
With wks
...
End With
Next
应该工作
答案 3 :(得分:-1)
Dim wsTemp as Worksheet
For each wsTemp in Worksheets
wsTemp.activate
'Do something
Next wsTemp