Excel 2007 VBA Macro останавливается при вызове пользовательской формы

Я строил макрос в течение нескольких недель, и вдруг часть не работает должным образом. Когда я пытаюсь вызвать пользовательскую форму через .Show, по какой-то причине марко тут же перестает работать и выделяет строку «.show». (Даже если я перехожу к окну пользовательской формы, кнопки не работают.) Если я нажму F5, он снова запустится, но я, очевидно, не хочу, чтобы код останавливался в середине программы. Есть идеи, почему это могло произойти, особенно если раньше этого не происходило?


person Tommy Z    schedule 02.07.2012    source источник
comment
Если вы хотите, чтобы макрос продолжал работать после показа userfomr, попробуйте это Userfomr1.Show VBModeless Если это какая-то другая проблема, опубликуйте код UserForm_Initialize(), если он у вас есть.   -  person Siddharth Rout    schedule 02.07.2012
comment
Ваше предложение сработало, вроде. Это позволяло макросу продолжать работать, но мне нужно было заполнить некоторые из этих данных перед следующими шагами, поэтому все пошло немного не так. Я не уверен, где находится userform_initialize()... Я не уверен, что происходит с этим кодом - вдруг у меня возникает куча странных проблем. Возможно, я использую слишком много памяти для некоторых открытых листов. Я вернусь к вам по этому поводу. Благодарю вас!   -  person Tommy Z    schedule 02.07.2012
comment
Можете ли вы поделиться своим файлом excel? Если вы используете пользовательскую форму для сбора данных перед запуском макроса, не используйте VBModeless.   -  person Siddharth Rout    schedule 02.07.2012
comment
Я могу, но это, вероятно, вам не поможет, потому что вам нужен другой файл, который я не могу дать, чтобы запустить его правильно. ты все еще хочешь это увидеть? (И закрытие других файлов не помогло. Может быть, файл слишком длинный — у меня 675 строк кода, а на функции нарезано недостаточно.)   -  person Tommy Z    schedule 02.07.2012
comment
Ага. Меня действительно интересует код пользовательской формы...   -  person Siddharth Rout    schedule 02.07.2012
comment
давайте продолжим это обсуждение в чате   -  person Tommy Z    schedule 02.07.2012
comment
Вы можете загрузить файл на www.wikisend.com, а затем поделиться ссылкой здесь?   -  person Siddharth Rout    schedule 02.07.2012


Ответы (2)


Оказывается, у меня была ошибка в моем коде, которая скрывалась, потому что я не удалил предыдущую «При ошибке возобновить дальше». Большое спасибо Сиддхарту!

person Tommy Z    schedule 02.07.2012

Возможно, что окончательный ответ ОП не связан с вопросом, а является случайным.

У меня было то же самое. Код остановлен на frm.show без уважительной причины. Как будто там была Стоп. Я пробовал все, но решение однозначно заключалось в перезагрузке.

Я знаю, что это ответ первого уровня, но он действительно решил проблему здесь. Я надеюсь, что кто-то избавит себя от гугления и выплевывания 100 нерелевантных попыток решения, когда, как бы глупо это ни было, простая перезагрузка исправит это.

person Guest    schedule 04.01.2014