Я пытаюсь выполнить поиск, где он ищет по столбцу для «REQM» (без кавычек), и установить диапазон найденной ячейки в d. Затем вызовите другую подфункцию, которая находит, куда вводить данные. Моя подфункция FindEntryArea работает нормально, и мой первый поиск отлично работает, но когда он пытается найти, он работает неправильно.VBA .findnext не работает. Ошибка времени выполнения 91 объектная переменная или с переменной блока не установлена
Sub FindLoop()
Dim re as Range
Set re = Sheets(1).Range("T:T")
With re
Set d = .Find("REQM", LookIn:=xlFormulas, LookAt:=xlWhole)
MsgBox (d.Row)
Call FindEntryArea
Do
Set d = .FindNext(d)
MsgBox (d.Row)
Call FindEntryArea
Loop While Not d Is Nothing
End With
End Sub
Пытаясь выяснить ошибку, я использовал MsgBox для вывода строки диапазона, который в настоящее время нашли это работало нормально для первой ячейки, но не работает для FindNext. Я получаю переменную объекта или с не заданной переменной блока. Я довольно новичок в VBA, и это мой первый опыт использования findnext, поэтому любое руководство будет оценено. Также re - мой диапазон, и есть много других ячеек, которые должны быть найдены внутри него.
Спасибо.
EDIT:
Главный код и findloop
Public re As Range
Public d As variant
Sub MainCode()
Dim r as Range
Set re = Worksheets("Summary all PIIDB").Range("T:T")
Set r = Worksheets("Summary all PIIDB")
With r
Call FindLoop
End With
End Sub
Sub FindLoop()
With re
Set d = .Find("REQM", LookIn:=xlFormulas, LookAt:=xlWhole)
MsgBox (d.Row)
'Call FindEntryArea
Set d = .FindNext(d)
MsgBox (d.Row)
'Call FindEntryArea
End With
End Sub
Я снял петлю только, чтобы получить FindNext работать первый и пока я все еще борется.
Loop While Not c Nothing, "c" никогда не определяется. – Ripster
Я установил re в общедоступный диапазон и установил его в другой части моей программы, которую я не показывал. То, что я опубликовал, - это только одна процедура. Диапазон работает, потому что я получаю первый .find совершенный, но следующий никогда не устанавливается. – Mark
Это еще одна ошибка с моей стороны, но я попытался исправить это, и у меня все еще есть ошибка. d не задается с .findnext по какой-то другой причине. – Mark