对于具有嵌套' with ... end with'

时间:2015-07-31 14:01:37

标签: vba excel-vba excel

所以我试图使用-with ...结束 - 在-for..next-循环中。我们的想法是将所有这些东西放在每张纸上。下面的代码是伪

    For Sheet = Sheet1 to Sheet10
        With Sheet
            ...code
        End With
     Next

所以我有10张。 Sheet1,Sheet2,Sheet3等 我似乎无法弄清楚如何遍历所有这些表格

4 个答案:

答案 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