【问题标题】:First non empty cell in row Excel VBAExcel VBA行中的第一个非空单元格
【发布时间】:2018-09-20 17:04:06
【问题描述】:

我正在尝试使用 VBA .Find 函数连续查找第一个非空单元格。代码如下:

    Sub test()

    With Selection
    Set firstNE = .Find(what:="*", LookIn:=xlValues)
    End With
    Debug.Print firstNE.Address

    End Sub

我遇到的问题是当我选择范围时,例如B4:F4 并且该范围内的所有单元格都是非空的,它返回 C4 而不是 B4。

当 B4 非空时也会发生同样的情况,然后下一个非空是例如E4,它返回 E4 而不是 B4。

仅当 B4 以外的所有选择为空时才返回 B4。

谁能给我解释一下?

顺便说一句。我不想使用 IsEmpty+loop,因为它需要花费太多时间来处理我的数据。

【问题讨论】:

  • 尝试将After 参数作为Selection.cells(selection.cells.count) 提供

标签: excel vba is-empty


【解决方案1】:

尝试提供After 参数:

Sub test()

    With Selection
       Set firstNE = .Find(what:="*", LookIn:=xlValues, _
                           After:=.Cells(.Cells.count))
    End With

    If Not firstNE Is Nothing Then Debug.Print firstNE.Address

End Sub

【讨论】:

  • 谢谢蒂姆。它解决了我的问题,并且我学到了一些东西。
猜你喜欢
  • 2011-06-19
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2019-06-17
  • 2012-10-13
相关资源
最近更新 更多