[英]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.