Возможно ли обойти ошибку времени выполнения 91 (переменная объекта не задана), когда я использую следующий код?найти динамический код переменной, дающий ошибку времени выполнения 91
Dim findE As Range
findE = Sheets(1).Range("A:AAA").Find(What:="E", searchdirection:=xlLeft, lookat:=xlWhole, searchorder:=xlByColumns).Column
My findE используется для поиска текста «E», и он может не отображаться постоянно. Всякий раз, когда он не появляется, он создает ошибку времени выполнения.
Я попытался с помощью
Dim findE As Range
Set findE = Sheets(1).Range("A:AAA").Find(What:="E", searchdirection:=xlLeft, lookat:=xlWhole, searchorder:=xlByColumns).Column
If not findE Is Nothing Then
'do something
end if
Я все еще вижу ошибку. Я сделал некоторые ссылки на этот VBA in find function runtime error 91, но все равно никакой помощи. Пожалуйста, посоветуйте мне об этом. Спасибо.
После 'Dim Finde Как Range' вставить' On Error Resume Next'. Не самый лучший, но самый быстрый способ :-) Это будет свидетельствовать, что VBA не будет отображать сообщение об ошибке в случае сбоя команды в следующей строке. Таким образом, вы действительно не отлаживаете, просто отключите сообщение об ошибке. – nhee
@ Нет, есть ли другие варианты? Поскольку я боюсь, может быть, подчеркивание ошибок, которые будут замаскированы, если бы я использовал это заявление. – user1204868
Не с головы. Имейте в виду, что это только отключает ошибки в следующей строке, поэтому вы будете видеть ошибки из следующих строк после команды find. Я нашел несколько намеков на поиск в googling «excel vba find 91», не жалея результатов исследования, извините. – nhee