【发布时间】:2020-12-14 03:28:27
【问题描述】:
我有一个 Excel 工作表,我正在尝试设置多个条件来隐藏行。如果特定单元格等于 0,则其中 2 个隐藏一些行,如果特定单元格具有特定单词,则其中一个隐藏一些行,如果特定列中为零,则最后隐藏行。当我单独做时它似乎有效,但我似乎无法让它共同工作。某些行可能包含在多个条件中。请注意,我对此很陌生。
这是我尝试过的:
Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
Dim R2 As Range
Dim R3 As Range
Dim R1 As Range
Set R1 = Union(Rows("61:61"), Rows("68:69"), Rows("72:72"), Rows("91:106"), Rows("117:125"), Rows("144:155"), Rows("157:158"), Rows("164:164"), Rows("166:166"))
Set R2 = Union(Rows("49:52"), Rows("65:129"))
Set R3 = Union(Rows("53:57"), Rows("130:161"))
Application.ScreenUpdating = False
For Each xRg In Range("E8:E153")
If xRg.Value = 0 Then
xRg.EntireRow.Hidden = True
Else
xRg.EntireRow.Hidden = False
End If
Next xRg
If Range("E$15").Value = 0 Then
R3.EntireRow.Hidden = True
Else
R3.EntireRow.Hidden = False
End If
If Range("E$14").Value = 0 Then
R2.EntireRow.Hidden = True
Else
R2.EntireRow.Hidden = False
End If
If Range("B$3").Value = "USD" Then
R1.EntireRow.Hidden = True
Else
R1.EntireRow.Hidden = False
End If
Application.ScreenUpdating = True
End Sub
【问题讨论】:
标签: excel vba if-statement row information-hiding