根据单元格值隐藏或取消隐藏行的 VBA 代码

I A*_*M L 2 vba cells microsoft-excel

这是我的代码,但它并没有真正做任何事情,我看不出有什么问题:

Private Sub PG1(ByVal Target As Range)
    If .Range("E50").Value = "Passed" Then
        Rows("51").EntireRow.Hidden = True
    End If
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51").EntireRow.Hidden = True
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

我的意图是,当前一行中的特定单元格从下拉列表中设置为“通过”时,将出现下面的行,如果它是“失败”,那么它将被隐藏。

jon*_*sca 10

看起来您的代码中有一些拼写错误。你想要这样的东西:

Sub PG1()

    If Range("E50").Value = "Passed" Then
        Rows("51:51").EntireRow.Hidden = True
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51:51").EntireRow.Hidden = False
    End If

End Sub
Run Code Online (Sandbox Code Playgroud)

要在更改工作表时更新行隐藏/取消隐藏,请将其放入Worksheet_Change事件中:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("E50").Value = "Passed" Then
        Rows("51:51").EntireRow.Hidden = True
    ElseIf Range("E50").Value = "Failed" Then
        Rows("51:51").EntireRow.Hidden = False

    End If
End Sub
Run Code Online (Sandbox Code Playgroud)