При ошибке перейти к работам в одном модуле, но не в другом - PullRequest
0 голосов
/ 09 июня 2019

Я не понимаю, почему следующий код работает в модуле ...

On Error GoTo NO875

Workrange.Find("875 - COMPLEMENTO IT MANUAL").Select

On Error GoTo 0

'*****errorhandler****

NO875:

Workrange.Find("280 - MEJORA V. C. ABS.").Offset(0, 1).EntireColumn.Select
Selection.insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeft
Workrange.Find("280 - MEJORA V. C. ABS.").Offset(0, 1).Value = "875 - COMPLEMENTO IT MANUAL"

Но когда я копирую и вставляю этот код в другой модуль, появляется следующее сообщение об ошибке:

Переменная объекта или переменная блока не установлена ​​

Кроме того, в первом модуле я могу использовать выражение xlFormatFromLeft, но в другом модуле мне нужно написать xlFormatFromLeftOrAbove.

Есть идеи, почему это происходит?

Заранее спасибо.

1 Ответ

0 голосов
/ 09 июня 2019

Добавьте Option Explicit в начало каждого модуля.

У этого есть несколько преимуществ, вы будете проинформированы о необъявленных переменных, и сообщения отладки будут немного более адаптированы, а строка с ошибкой должна быть выделена.

В этомВ этом случае при запуске макроса строка с необъявленной переменной будет подсвечена.Отметим здесь, что переменные объявляются в различных областях, и Workrange, вероятно, объявляется на уровне модуля в одном модуле, но не объявляется в другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...