首页 > 解决方案 > 隐藏任何大于 1 的值

问题描述

我正在使用下面的宏来隐藏任何高于 1 的值。第 10 列用于比较两个日期并隐藏高于 1 的日期差异的任何值。

我最初将第 10 列中的函数写为

=IF($G$1-I4>0, $G$1-I4,"0" )

我不得不将其调整为

 =IF(I7="","",IFERROR($G$1-I7,""))

用空白值纠正计算错误。

在我调整公式之前,宏按预期工作,但现在它隐藏了第 10 列中包含公式的所有行。

g1=今天日期 i4=完成日期(如果适用)

Sub HURows()
    BeginRow = 4
    EndRow = 600
    ChkCol = 10

    For RowCnt = BeginRow To EndRow
        If Cells(RowCnt, ChkCol).Value > 1 Then
            Cells(RowCnt, ChkCol).EntireRow.Hidden = True
        Else
            Cells(RowCnt, ChkCol).EntireRow.Hidden = False
        End If
    Next RowCnt
End Sub

标签: excelvbafunction

解决方案


你为什么不试试自动过滤器?

Sub Filter()

    Rows("3:3").AutoFilter Field:=10, Criteria1:="<1", Operator:=xlAnd
    
End Sub

(我假设第三行是你的标题行)


推荐阅读