Excel 用VBA实现单元格的隐藏
我使用以下代码在Excel VBA中隐藏所需的单元格Excel 用VBA实现单元格的隐藏,excel,hide,vba,Excel,Hide,Vba,我使用以下代码在Excel VBA中隐藏所需的单元格 Private Sub Worksheet_Change(ByVal Target As Range) Dim Cell As Range Set Cell = Range("$F$26") If Not Application.Intersect(Cell, Range(Target.Address)) Is Nothing Then If Range("F26").Value < 2 Th
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range
Set Cell = Range("$F$26")
If Not Application.Intersect(Cell, Range(Target.Address)) Is Nothing Then
If Range("F26").Value < 2 Then
Rows("39:61").EntireRow.Hidden = True
ElseIf Range("F26").Value < 3 Then
Rows("47:61").EntireRow.Hidden = True
ElseIf Range("F26").Value < 4 Then
Rows("55:61").EntireRow.Hidden = True
Else: Rows("39:61").EntireRow.Hidden = False
End If
End If
End Sub
Private子工作表\u更改(ByVal目标作为范围)
暗淡单元格作为范围
设置单元格=范围($F$26”)
如果不是Application.Intersect(单元格,范围(Target.Address))则为空
如果范围(“F26”)。值小于2,则
行(“39:61”).EntireRow.Hidden=True
ElseIf范围(“F26”)。然后值<3
行(“47:61”).EntireRow.Hidden=True
ElseIf范围(“F26”)。值小于4
行(“55:61”).EntireRow.Hidden=True
Else:Rows(“39:61”).EntireRow.Hidden=False
如果结束
如果结束
端接头
当我将值按降序排列(如4、3、2、1)时,它可以完美地工作。但在放1之后,如果我计划切换到2或3(但不是4)。然后它不会显示第二和第三面板组中的单元格。但如果我放4,它会再次显示所有面板组。我附上了下面的截图
您必须从头开始使用范围(“F$26”)内的新值重新评估后续呼叫;e、 g.让一切可见,然后决定隐藏什么
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range("F26"), Range(Target.Address)) Is Nothing Then
Application.ScreenUpdating = False
Rows("39:61").EntireRow.Hidden = False
Select Case Range("F26").Value
Case Is < 2
Rows("39:61").EntireRow.Hidden = True
Case 2
Rows("47:61").EntireRow.Hidden = True
Case 3
Rows("55:61").EntireRow.Hidden = True
End Select
Application.ScreenUpdating = True
End If
End Sub
Private子工作表\u更改(ByVal目标作为范围)
如果不是Application.Intersect(Range(“F26”),Range(Target.Address))则什么都不是
Application.ScreenUpdating=False
行(“39:61”).EntireRow.Hidden=False
选择案例范围(“F26”)。值
病例<2例
行(“39:61”).EntireRow.Hidden=True
案例2
行(“47:61”).EntireRow.Hidden=True
案例3
行(“55:61”).EntireRow.Hidden=True
结束选择
Application.ScreenUpdating=True
如果结束
端接头
我已将您的条件评估更改为a,并根据需要删除了单元格
变量
当范围(“F26”)为空时,我找不到任何意外情况。目前,这属于<2
条件