隐藏所有可见单元格均为空但隐藏单元格中可能包含非空值的行

隐藏所有可见单元格均为空但隐藏单元格中可能包含非空值的行

我正在尝试编写一个 VBA 宏来隐藏可见单元格全部为空的行。这意味着,可见单元格全部为空但仍有非空值的隐藏单元格的行也应该被隐藏。

不幸的是,我使用的代码仅隐藏了没有非空值的隐藏单元格的行:

'==========================================
' Hide Empty Rows
'==========================================
Sub hideEmptyRows()
    ' Set variables
    Dim i As Integer
    Dim lngLastCell As Long
    ' Get last cell
    lngLastCell = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    ' Turn screen updating off
    Application.ScreenUpdating = False
    ' Loop from 3rd to last cell
    For i = 3 To lngLastCell
        ' Check if row has any values
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            ' Hide row
            Rows(i).Hidden = True
        End If
    Next i
    ' turn screen updating on
    Application.ScreenUpdating = True
End Sub

答案1

您可以使用.SpecialCells() 方法单元格类型可见计算时的参数.CountA()如下:

If Application.WorksheetFunction.CountA(Rows(i).SpecialCells(xlCellTypeVisible)) = 0 Then

相关内容