Excel 我想将多张图纸设置为宏的范围
我想在宏开始时以及宏不工作时设置多个sheetssheet1、sheet2Excel 我想将多张图纸设置为宏的范围,excel,vba,Excel,Vba,我想在宏开始时以及宏不工作时设置多个sheetssheet1、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 我猜对你的意思了吗 Private Sub Wor
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
我猜对你的意思了吗
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
您似乎试图将多张图纸收集到一个参考中:
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
您想设置多张图纸是什么意思?它不起作用也从来没有太大的帮助-你能详细说明吗?在第二行中,最初我只有sheet1,它没有问题。我在第二张纸上加了,这样它也可以运行IF-ELSE,但是宏IF-ELSE不起作用。我不知道为什么…您的代码没有引用工作表。是否要检查sheet1和sheet2中W6的值?我想同时参考这两个值!回答得很好。只是为了好玩,如果ws.[W6]=0,那么也可以: