当前,我使用以下代码隐藏除一张(在本例中为Sheet4
)之外的所有工作表:
Sub LoopHideSheets()
Dim b As Worksheet
For Each b In Worksheets
If b.CodeName <> "Sheet4" Then
b.Visible = False
End If
Next b
End Sub
到目前为止,所有这些都工作正常。
现在,我不仅要保持Sheet4
的可见性,而且要保持多张工作表的可见性。因此,我尝试将公式更改为此:
Sub LoopHideSheets()
Dim b As Worksheet
For Each b In Worksheets
If b.CodeName <> "Sheet1" Or _
b.CodeName <> "Sheet2" Or _
b.CodeName <> "Sheet3" _
Then
b.Visible = False
End If
Next b
End Sub
但是,这段代码给了我运行时错误1004。您是否知道我的代码中有错误?
答案 0 :(得分:1)
将Or
切换为And
,以保持工作表1-3可见。
<>
中的a <> b
取反,表示它与NOT a = b
相同。这会在逻辑上切换Or
和And
。