找到非空白可见单元格而不循环

时间:2017-04-20 21:12:54

标签: excel-vba vba excel

我在表格中有一个列(ListObject),可能会或可能不会被评估,可能会或可能不会显示(过滤费用)。

我以为我可以使用SpecialCells(xlCellTypeVisible)SpecialCells(xlCellTypeConstants)来执行此操作而无需循环。问题是单元格值由公式确定,基本上是=IF(true,"value","")

因此,SpecialCells似乎无法区分逻辑空白(即“”)和逻辑常量(“值”)

任何人都有本地方式只返回具有“值”而没有循环的单元格?我平时使用以下循环。

Function GetValuedCells(aRange As Excel.Range) As Excel.Range
    If aRange Is Nothing Then Exit Function

    Dim rngCell As Excel.Range
    For Each rngCell In aRange
        If IsValued(rngCell.Value2) Then
            If GetValuedCells Is Nothing Then Set GetValuedCells = rngCell
            Set GetValuedCells = Union(GetValuedCells, rngCell)
        End If
    Next
End Function

0 个答案:

没有答案