根据所选号码隐藏和取消隐藏特定的行。

我正在Excel上创build一个用户窗体,我想隐藏和取消隐藏整行取决于从1到4的数据validation列表(在单元格M5中的数据validation)

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

我想要隐藏的所有行都包含E列中的dateselect器选项(如果必须的话,我很乐意删除dateselect器选项)

我将衷心感谢您的帮助。

谢谢你们。 一个

通过在VBE中的工作表对象中放置类似的东西,可以使用工作表更改事件

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 

它会检查更改是否在您的validation中,然后检查值,隐藏它应该隐藏的内容。 我首先取消隐藏所有的东西,所以你不必担心在改变值后隐藏的内容。

确保它在你希望发生这种情况的工作表的模块中 –

在这里输入图像说明