Первая непустая ячейка в строке Excel VBA - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь найти первую непустую ячейку в строке, используя функцию 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, вместо B4 возвращается E4.

Возвращается только B4, если все выделения, кроме B4, пусты.

Может кто-нибудь объяснить мне это?

Кстати.Я не хочу использовать цикл IsEmpty +, так как обработка моих данных занимает слишком много времени.

1 Ответ

0 голосов
/ 20 сентября 2018

Попробуйте ввести аргумент 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
...