繁体   English   中英

如何根据多个单元格值自动隐藏和取消隐藏excel中的行

[英]How to automatically hide and unhide rows in excel based on multiple cell value

在此处输入图像描述我是 excel 宏的新手。 我正在尝试创建一个宏来根据多个单元格值自动隐藏和取消隐藏 excel 中的行。 我使用数据验证创建了两个具有值的下拉单元格,并基于下拉列表我试图隐藏和取消隐藏。 如果第一个下拉列表是“I 类”而第二个下拉值是 Ä 则只有从 8 到 20 的行应该是可见的,并且从 21 到要隐藏的行末尾的行应该是可见的,同样当第一个下拉列表是“I 类”时第二个下拉值是“B”行,从 8 到行尾应该隐藏,除了从 23 到 31 的行。如果需要,我可以提供包含虚拟数据的 excel 文件

将此代码放在通过右键单击工作表名称选项卡查看代码访问的工作表的私有代码表中。 修改行范围以适应。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("D3, D4")) Is Nothing Then
        On Error GoTo meh
        Application.ScreenUpdating = False
        Range("8:" & Me.UsedRange.Rows.Count).EntireRow.Hidden = True
        Select Case Range("D3").Value2
            Case "Class I"
                Select Case Range("D4").Value2
                    Case ChrW(196)  'Ä
                        Intersect(Range("8:20"), Me.UsedRange).EntireRow.Hidden = False
                    Case "B"
                        Intersect(Range("21:33"), Me.UsedRange).EntireRow.Hidden = False
                    Case Else
                        'do nothing
                End Select
            Case "Class II"
                'copy above for Class I here
                'modify rows to show/hide
            Case Else
                'do nothing
        End Select
    End If

meh:
    Application.ScreenUpdating = True

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM