VBA - 隐藏行宏限制

问题描述 投票:2回答:1

我有下面的代码隐藏我的工作表上的所有空白单元格。如何将隐藏范围设置为100,以便在单元格100之后如果其余的为空白则不会隐藏它们。如果空白,则仅1-100限制内的单元格被隐藏。

Sub HideRow()

    Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Projects Dashboard")
    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 7 Step -1
        If ws.Range("C" & I).Text = "" And ws.Range("D" & I).Text = "" And ws.Range("F" & I).Text = "" And ws.Range("I" & I).Text = "" Then
            ws.Rows(I).EntireRow.Hidden = True
        End If
    Next I
    Application.ScreenUpdating = True

End Sub
excel vba excel-vba excel-formula excel-2010
1个回答
2
投票

如果我理解您的问题和代码,您似乎希望将LRow值限制为最大值100。

应该像添加一行代码一样简单:

...    
LRow = Application.WorksheetFunction.Max(LRowC, LRowD, LRowF, LRowH)

If LRow > 100 Then LRow = 100

Dim I As Long
...
© www.soinside.com 2019 - 2024. All rights reserved.