【发布时间】:2019-09-11 08:35:35
【问题描述】:
IF 函数检查表中所选列的任何行中的单元格是否已填充,例如第 1 列、第 1、2 和 3 行 - 如果填充了任何单元格 - 其他行将被取消隐藏。
该功能在表格被填充时起作用,但仅在从其中删除某些内容之前。
例如如果表格的第 1 列中的所有第 1、2 和 3 行都已填写 - 会出现其他行。如果我删除其中一个单元格值,例如column 1 row 1 - 额外的行再次隐藏。不隐藏的条件还在,第 2 行和第 3 行仍然填写。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row = 90 Then
If Target.Value = "" Then
Application.Rows("94:101").Select
Application.Selection.EntireRow.Hidden = True
Else: [94:101].EntireRow.Hidden = False
End If
End If
If Target.Column = 2 And Target.Row = 91 Then
If Target.Value = "" Then
Application.Rows("94:101").Select
Application.Selection.EntireRow.Hidden = True
Else: [94:101].EntireRow.Hidden = False
End If
End If
If Target.Column = 2 And Target.Row = 92 Then
If Target.Value = "" Then
Application.Rows("94:101").Select
Application.Selection.EntireRow.Hidden = True
Else: [94:101].EntireRow.Hidden = False
End If
End If
End Sub
【问题讨论】:
-
阅读How to avoid using Select in Excel VBA可能会让您受益。