一个 IF 函数检查表格所选列中任何行中的单元格是否已填充,例如第 1 列、第 1 行、第 2 和 3 行 - 如果填充了任何单元格 - 其他行未隐藏。
该函数在填满表格时起作用,但仅在从中删除某些内容之前。
例如,如果表格中填写了第 1 列中的所有第 1、2 和 3 行 - 则会出现其他行。如果我删除其中一个单元格值,例如第 1 列第 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
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 2 And (Target.Column = 90 Or Target.Column = 91 Or Target.Column = 92) Then
If Range("B90") = "" And Range("B91") = "" And Range("B92") = "" Then
Range("A94:A101").EntireRow.Hidden = True
Else
Range("A94:A101").EntireRow.Hidden = False
End If
End If
End Sub
先检查@PEH评论。 按照您的理念,尝试一下:
Private Sub Worksheet_Change(ByVal Target As Range)
With WorkSheets(1)
If (.Range("B90").Value2 <> "") Or (.Range("B91").Value2 <> "") Or _
(.Range("B92").Value2 <> "") Then
If Target.Value = "" Then
.Rows("94:101").EntireRow.Hidden = True
Else
.Rows("94:101").EntireRow.Hidden = False
End If
End If
End With
End Sub
只需将工作表(1(自定义到您的工作簿即可。