首页 > 解决方案 > 根据另一个单元格值隐藏/取消隐藏行

问题描述

我正在尝试根据单元格值隐藏/取消隐藏单元格。当 sheet("create") 的单元格值等于 "RCDO" 时,它将隐藏行 22:35 并取消隐藏 sheet("Form") 上的行 36:49,当值不等于 "RCDO" 时,取消隐藏行 22:35并隐藏行 36:49。该代码不会自动运行,这意味着我必须单击行的单元格才能运行它,而一旦我更改单元格的值,代码就会运行。

    Private Sub HideRow1()

Application.ScreenUpdating = False

If Sheets("Create").Range("C4").Value = "RCDO" Then
        Rows("22:35").EntireRow.Hidden = True
        Rows("36:49").EntireRow.Hidden = False

     ElseIf Sheets("Create").Range("C4").Value <> "RCDO" Then
        Rows("36:49").EntireRow.Hidden = True
        Rows("22:35").EntireRow.Hidden = False

        Application.ScreenUpdating = True
    End If


End Sub

标签: excelvba

解决方案


在下面写代码sheet("create")

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Me.Range("C4").Address Then Call HideRow1
End Sub


Private Sub HideRow1()

    Application.ScreenUpdating = False
    If UCase(Me.Range("C4").Value) = "RCDO" Then
        Me.Rows("22:35").EntireRow.Hidden = True
        Me.Rows("36:49").EntireRow.Hidden = False
    Else
        Me.Rows("36:49").EntireRow.Hidden = True
        Me.Rows("22:35").EntireRow.Hidden = False
    End If
    Application.ScreenUpdating = True

End Sub

推荐阅读