2015-04-26 3 views
0

Возможно ли обойти ошибку времени выполнения 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, но все равно никакой помощи. Пожалуйста, посоветуйте мне об этом. Спасибо.

+0

После 'Dim Finde Как Range' вставить' On Error Resume Next'. Не самый лучший, но самый быстрый способ :-) Это будет свидетельствовать, что VBA не будет отображать сообщение об ошибке в случае сбоя команды в следующей строке. Таким образом, вы действительно не отлаживаете, просто отключите сообщение об ошибке. – nhee

+0

@ Нет, есть ли другие варианты? Поскольку я боюсь, может быть, подчеркивание ошибок, которые будут замаскированы, если бы я использовал это заявление. – user1204868

+0

Не с головы. Имейте в виду, что это только отключает ошибки в следующей строке, поэтому вы будете видеть ошибки из следующих строк после команды find. Я нашел несколько намеков на поиск в googling «excel vba find 91», не жалея результатов исследования, извините. – nhee

ответ

2

Попробуйте следующее ...

Dim FindE As Range 
With Sheets(1).Range("A:AAA") 
    Set FindE = .Find(What:="E", SearchDirection:=xlLeft, LookAt:=xlWhole, _ 
     SearchOrder:=xlByColumns) 
    If Not FindE Is Nothing Then Set FindE = Columns(FindE.Column) 
End With 
+0

спасибо. Просто чтобы проверить с вами, мне нужно использовать FindE в этом формате: cells (1, findE) .copy, установив его только как столбец, я не смогу выбрать другие ячейки. Тем временем я попытаюсь найти и ответ на него. – user1204868

+0

Мне удалось найти решение. Спасибо за более ранний ввод! :) – user1204868

Смежные вопросы