根据多列值隐藏 Excel 中的行

Hide rows in Excel based off multiple column value

如何根据多个列值隐藏行?示例:如果 "Projects"、"Team Member"、"Priority" 和 "Status" 字段均为空白,则该行将自行隐藏。

我看到了您的另一个 post,但我真的不认为这是您构建仪表板的方式。您实际上是在创建另一个 sheet 的副本。似乎 Advance Filter 更适合这里。

如果您使用当前方法进行设置,这将确定列中使用最少的单元格,并根据您的条件隐藏该单元格上方的行。我会在这个宏中添加一个名为 "Refresh My Dash" 和 link 之类的命令按钮。

Option Explicit

Sub HideRow()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LRowC, LRowD, LRowF, LRowH, LRow As Long
    LRowC = ws.Range("C" & ws.Rows.Count).End(xlUp).Row
    LRowD = ws.Range("D" & ws.Rows.Count).End(xlUp).Row
    LRowF = ws.Range("F" & ws.Rows.Count).End(xlUp).Row
    LRowH = ws.Range("H" & ws.Rows.Count).End(xlUp).Row
    LRow = Application.WorksheetFunction.Max(LRowC, LRowD, LRowF, LRowH)

Dim i As Long

Application.ScreenUpdating = False
ws.Rows.Hidden = False
    For i = LRow To 2 Step -1
        If ws.Range("C" & i).Text = "" And ws.Range("D" & i).Text = "" And ws.Range("F" & i).Text = "" And ws.Range("H" & i).Text = "" Then
            ws.Rows(i).EntireRow.Hidden = True
        End If
    Next i
Application.ScreenUpdating = True

End Sub