首页 > 解决方案 > 我想将多个工作表设置为宏的范围

问题描述

我想在宏开始时设置多张工作表(sheet1 , sheet2),目前它不起作用。

Private Sub Workbook_Open()
'Dim ws As Worksheet: Set ws = Sheets("sheet1","sheet2")
    If Range("W6").Value = 0 Then
        Call HideFG
    Else
        Call HideF
    End If
End Sub

标签: excelvba

解决方案


您似乎正试图将多张纸收集到一个参考文献中:

Set ws = Sheets("sheet1","sheet2")

几乎可以通过以下方式做到这一点:

Sheets(Array("sheet1","sheet2"))

但是,您必须一次处理一张纸。所以您需要像这样使用它:

For Each ws In Sheets(Array("sheet1", "sheet2"))

    If ws.Range("W6").Value = 0 Then
        Call HideFG
    Else
        Call HideF
    End If

Next

推荐阅读