VBA - 隐藏行宏限制

标签 vba excel 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

最佳答案

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

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

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

If LRow > 100 Then LRow = 100

Dim I As Long
...

关于VBA - 隐藏行宏限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51196684/

相关文章:

excel - 如果下面有另一个表,是否可以一次在表中插入多行?

vba - 根据列中的值对完整行进行着色

excel - 计算特定搜索字符串出现的次数

excel - 考虑到过滤器,如何计算列的中位数?

vba - 使用 VBA 将一列公式从相对引用转换为固定引用

excel - 如何将图标添加到 Excel 菜单/工具栏按钮

VBA 迭代单元格

excel - 对值求和,直到列中的下一个空白(每个空白之间的变量数),然后对空白之间的每个集合重复过程

excel - 如何在运行时 VBA 显示 UDF 的工具提示?

excel - 如何编写取消按钮以不清除表单?