2013-05-16 2 views
0

Я использую несколько макросов, которые я написал в течение нескольких дней без проблем. При перезагрузке моего компьютера всякий раз, когда я перехожу к использованию макроса с переменной, которая не была объявлена, появляется сообщение об ошибке. Ее довольно легко обойти, чтобы сделатьVBA вдруг решает, что ему нужны объявления

Dim variablename as Variant 

везде его вопрос, так как я предполагаю, что это то, что было сделано неявно, но есть причина УВА бы не заботился в первую очередь?

ответ

3

Возможно, у вас есть линия Option Explicit, написанная в начале вашего модуля.

Этот option (рекомендуется) содержит явное объявление всех переменных в файле.

+0

Ha! Я просто скопировал небольшую функцию, которая имела это как первую строку ... изначально задавалась вопросом, что она сделала, но забыла об этом. Благодаря! – hedgedandlevered

+1

Это хорошая практика, чтобы включить его, это означает, что вы не имеете shedload 'Variants', скрывающийся о. Вы должны также заявить об этом правильно, опять же, только для хорошей практики и предотвращения ошибок. –

+0

@SkipIntro, я полностью согласен –

1

enter image description here

Вы можете проверить Требовать Variable Declaration флажок, который добавит Otion Explicit для вас. Его доступно в разделе Инструменты> Опции

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