如何在一个 Excel VBA 中使用两个代码

如何在一个 Excel VBA 中使用两个代码

我正在尝试在一个代码下创建隐藏和取消隐藏功能。但我的代码不起作用。

我只是想要如果行被隐藏则取消隐藏。如果行未被隐藏则隐藏它们。

任何帮助将不胜感激

Sub HideRows()
    Dim cell As Range
    For Each cell In Sheets("Current Assets").Range("Table110[Qty.]")
        If cell.Value = 0 Then
        cell.EntireRow.Hidden = True
        ElseIf cell.EntireRow.Hidden = True Then
        cell.EntireRow.Hidden = False
        End If
    Next
End Sub

答案1

我认为你的逻辑是错误的——你有

  1. 如果值为零,则隐藏该行
  2. 否则(即如果值不为零),如果该行被隐藏,则显示它。

这是否能满足您的更多要求:

Sub HideRows()
    Dim cell As Range
    For Each cell In Sheets("Current Assets").Range("Table110[Qty.]")
        If cell.Value = 0 Then
            cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
        End If
    Next
End Sub

相关内容