#vba #excel #excel-2013
#vba #excel #excel-2013
Вопрос:
Я ошибка компиляции: Sub или функция не определены. Задействованный код:
Private Sub ClearButton_Click()
Call UserForm_Initialize
End Sub
Я создал пользовательскую форму, которая точно такая же, как я создал в другой книге. В обеих книгах все идентично (данные, форматирование, кодирование, форма пользователя, все), но я получаю эту ошибку в одной книге, но не в другой. Я скопировал пользовательскую форму и кодирование в эту книгу, поэтому ничего не было введено с ошибками. У кого-нибудь есть идея, почему один работает, а другой нет?
Я прочитал другие подобные вопросы и ответы, но не смог найти ответа, который соответствовал бы этой ситуации.
Я склоняю голову перед вами, гуру!
Комментарии:
1. Должно быть проще скопировать весь файл и удалять материал, пока он не перестанет работать :]
2. какая строка выделяется, когда она выдает ошибку? если это
Private Sub ClearButton_Click()
так, проверьте, что у вас есть кнопка в вашей пользовательской форме с именемClearButton
. Если этоCall UserForm_Initialize
так, проверьте, что на панели кода вашей пользовательской формы естьPrivate Sub UserForm_Initialize()
вспомогательный код3. @user3598756 — Выделяет желтым цветом отдельную вспомогательную строку, но также выделяет и вторую строку. Имя кнопки и приведенный выше код совпадают, а в пользовательской форме уже есть частный вспомогательный код UserForm_Initialize.
4. пройдитесь по своему коду (установите точку останова
Call UserForm_Initialize
, запустите макрос и, когда он остановится на точке останова, нажмите F8, чтобы пошагово выполнить построчно) и посмотрите, где на самом деле возникают ошибки.
Ответ №1:
Проверьте название вашей кнопки в новой книге. Имена кнопок обычно не копируются при их копировании.
Комментарии:
1. Верно, и именно поэтому я установил идентичную кнопку в новом файле (вырезать и вставить текст кнопки и код, чтобы свести к минимуму любые ошибки при вводе их в новый файл.)