VBA-隐藏行宏限制

时间:2018-07-05 17:04:54

标签: excel vba excel-vba excel-formula excel-2010

我有下面的代码来隐藏工作表中的所有空白单元格。我如何将隐藏范围设置为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

1 个答案:

答案 0 :(得分:2)

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

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

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

If LRow > 100 Then LRow = 100

Dim I As Long
...