【问题标题】:how to hide a range of rows based off of cell value如何根据单元格值隐藏一系列行
【发布时间】:2017-02-08 04:12:54
【问题描述】:

我正在尝试自动隐藏 K3 到 K 17 中为零的行。我发现这段代码我一直试图篡改以开始工作,但它似乎总是隐藏列中的每个空单元格而不是特定范围。

Private Sub Worksheet_Calculate()
Dim LastRow As Long, c As Range
Application.EnableEvents = False
LastRow = Cells(Cells.Rows.Count, ""K"").End(xlUp).Row
On Error Resume Next
For Each c In Range(""K3:K17"" & LastRow)
If c.Value = 0 Then
    c.EntireRow.Hidden = True
ElseIf c.Value > 0 Then
    c.EntireRow.Hidden = False
End If
Next
On Error GoTo 0
Application.EnableEvents = True
End Sub"

【问题讨论】:

  • 这甚至可以用双双引号编译吗?

标签: vba range row hide


【解决方案1】:

假设你有单双引号内的字符串,你循环了很多行:

For Each c In Range("K3:K17" & LastRow)

LastRow 是最后一个非空行(在 K 列中),所以如果它是 17,例如,你正在做的是

For Each c In Range("K3:K1717")

我希望修复很明显,但无论如何都在这里

For Each c In Range("K3:K17")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多