在一行中引用多个工作表

时间:2013-07-19 11:52:44

标签: excel vba

我想知道是否有办法在Excel VBA中的一行中引用多个工作表。我知道您可以通过以下方式引用多个范围,列和行:

Range("G1:G5, G6:G10, H5:H10") etc...

我希望能够用我试过的表单做同样的事情:

Sheets("Sheet1_Name, Sheet2_Name, Sheet3_Name").Range(...)

但这没有用,所以我想知道除了将工作表名称放入变量然后引用变量之外是否还有一种特殊的方法。

1 个答案:

答案 0 :(得分:3)

Sub Test()
    Dim sheetsArray As Sheets
    Set sheetsArray = ActiveWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3"))

    Dim target As Range
    Dim sheetObject As Worksheet

    ' change value of range 'a1' on each sheet from sheetsArray
    For Each sheetObject In sheetsArray
        Set target = sheetObject.Range("A1")
        target.Value = "Test"
    Next sheetObject
End Sub