根据所选数字隐藏和取消隐藏特定行。

Hide and unhide specific rows depending on a number selected.

我正在 Excel 上创建一个用户表单,我想根据从 1 到 4 的数据验证列表隐藏和取消隐藏整行。(单元格 M5 中的数据验证)

这是我想做的: 如果在 M5 中选择了数字 1,我想隐藏行 9:11 和 17:20 如果在 M5 中选择了数字 2,我想隐藏行 10:11 和 18:20 如果在M5中选择了数字3,我想隐藏第11行和第20行

我想隐藏的所有行都在 E 列中包含日期选择器选项。(如果必须,我很乐意删除日期选择器选项)

非常感谢您的帮助。

谢谢大家。 一个

您可以通过在 VBE

的 worksheet 对象中放置类似这样的内容来使用 worksheet 更改事件
Sub worksheet_change(ByVal target As Range)
If Not Intersect(target, Range("M5")) Is Nothing Then
    ActiveSheet.Rows("9:20").EntireRow.Hidden = False
    If target = 1 Then
        ActiveSheet.Rows("9:11").EntireRow.Hidden = True
        ActiveSheet.Rows("17:20").EntireRow.Hidden = True
    ElseIf target = 2 Then
        ActiveSheet.Rows("10:11").EntireRow.Hidden = True
        ActiveSheet.Rows("18:20").EntireRow.Hidden = True
    ElseIf target = 3 Then
        ActiveSheet.Rows(11).EntireRow.Hidden = True
        ActiveSheet.Rows(20).EntireRow.Hidden = True
    ElseIf target = 4 Then
    End If
End If
End Sub

它检查更改是否在您的验证中,然后检查值,隐藏它应该隐藏的内容。我首先取消隐藏所有内容,因此您不必担心更改值后仍然隐藏某些内容。

确保它在 sheet 的 sheet 模块中,您希望它发生在 -