簡體   English   中英

我想將多個工作表設置為宏的范圍

[英]I want to set multiple sheets as the range for macro

我想在宏的開始處設置多個工作表(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

您似乎正在嘗試將多個工作表收集到一個參考中:

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

我猜對了你的意思嗎?

Private Sub Workbook_Open()

Dim i As Long
    For i = 1 To ThisWorkbook.Sheets.Count
        With ThisWorkbook.Sheets(i)
            If .Range("W6").Value = 0 Then
                Call HideFG
            Else
                Call HideF
            End If
        End With
    Next

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM