Мне нужен шаман, бубны и танцы. Надеюсь на вашу помощь! )
Столкнулся со странным поведением формы при попытке ее закрыть командой Unload Ошибка возникает стандартная и заезженная... типизации данных (Variable not defined) При этом все переменные заданы. В прочем они не менялись с момента когда все работало. А в неизвестный для меня временной момент все сломалось.
Что интересно. Сама форма работает, все функции выполняет, но когда я ее закрываю командой Unload все летит в трантарары...
Удалял код кусками, пытаясь выяснить из-за чего возникает ошибка, это не дало результата. В следствии чего решил удалить все что можно удалить и оставил только книгу с двумя листами и конечно же сому форму. Она находится на втором листе, активируется двойным кликом по ячейкам в теле таблицы в 1 колонке и 4-5 колонках.
А далее я в ней поставил ЖИРНУЮ кнопку, которая выполняет команду Unload.
p,s, Памагите, спасите.
Мне нужен шаман, бубны и танцы. Надеюсь на вашу помощь! )
Столкнулся со странным поведением формы при попытке ее закрыть командой Unload Ошибка возникает стандартная и заезженная... типизации данных (Variable not defined) При этом все переменные заданы. В прочем они не менялись с момента когда все работало. А в неизвестный для меня временной момент все сломалось.
Что интересно. Сама форма работает, все функции выполняет, но когда я ее закрываю командой Unload все летит в трантарары...
Удалял код кусками, пытаясь выяснить из-за чего возникает ошибка, это не дало результата. В следствии чего решил удалить все что можно удалить и оставил только книгу с двумя листами и конечно же сому форму. Она находится на втором листе, активируется двойным кликом по ячейкам в теле таблицы в 1 колонке и 4-5 колонках.
А далее я в ней поставил ЖИРНУЮ кнопку, которая выполняет команду Unload.
Не ребят. Не понимаю, все же это я видимо когда ковырялся случайно t удалил и ошибка обрела такой формат как Variable not defined. Однако сейчас ошибка сохраняется и имеет имя object variable or With block variable not set.
Кидаю всю партянку что писал.
Какая то хрень с переменными. Но место для мистики тут сохраняется. Изначально ошибка была замечена когда переходил на другой лист с Account (аккаунты), на Client_Card (карточка клиента). Срабатывала она только когда форма не активна, не включена и происходит переход на другой лист. Сейчас ошибки возникает, когда я переключаюсь с листа Account (аккаунты) на Itog_svod_list (Итоговая сводная). При этом ошибки нет, когда форма открыта и она есть когда форма не активна и не была включена. В этот момент единственная операция которая срабатывает на листе Account (аккаунты), это:
[vba]
Код
' Закрыть форму при смене листа! Private Sub Worksheet_Deactivate() Unload Add_media_account End Sub
[/vba]
А уже не знаю что это и почему. Может у меня с компом что не так. Перезапуск Excel в общем то не помогает. Комп не перезагружал.
Не ребят. Не понимаю, все же это я видимо когда ковырялся случайно t удалил и ошибка обрела такой формат как Variable not defined. Однако сейчас ошибка сохраняется и имеет имя object variable or With block variable not set.
Кидаю всю партянку что писал.
Какая то хрень с переменными. Но место для мистики тут сохраняется. Изначально ошибка была замечена когда переходил на другой лист с Account (аккаунты), на Client_Card (карточка клиента). Срабатывала она только когда форма не активна, не включена и происходит переход на другой лист. Сейчас ошибки возникает, когда я переключаюсь с листа Account (аккаунты) на Itog_svod_list (Итоговая сводная). При этом ошибки нет, когда форма открыта и она есть когда форма не активна и не была включена. В этот момент единственная операция которая срабатывает на листе Account (аккаунты), это:
[vba]
Код
' Закрыть форму при смене листа! Private Sub Worksheet_Deactivate() Unload Add_media_account End Sub
[/vba]
А уже не знаю что это и почему. Может у меня с компом что не так. Перезапуск Excel в общем то не помогает. Комп не перезагружал.lopuxi
Лен, немного расшифрую 1. При переходе на лист ИТОГОВАЯ СВОДНАЯ он становится активным 2. Для того, чтобы форму выгрузить, ее нужно загрузить (инициализировать), т.е. запускается UserForm_Initialize соответствуюшей формы 3. Все Cells и Selection в процедуре UserForm_Initialize относятся к активному листу, а структура этого листа явно не подходит для загрузки этой формы и напоследок 4 - по случаю ошибки загрузки формы возникает ошибка в первоначальном макросе, о чем вас и информируют
Перенесите код в процедуру активации формы [vba]
Код
Private Sub UserForm_Activate()
[/vba] и будет вам щастье.
Лен, немного расшифрую 1. При переходе на лист ИТОГОВАЯ СВОДНАЯ он становится активным 2. Для того, чтобы форму выгрузить, ее нужно загрузить (инициализировать), т.е. запускается UserForm_Initialize соответствуюшей формы 3. Все Cells и Selection в процедуре UserForm_Initialize относятся к активному листу, а структура этого листа явно не подходит для загрузки этой формы и напоследок 4 - по случаю ошибки загрузки формы возникает ошибка в первоначальном макросе, о чем вас и информируют
Думаю, здесь правильнее было бы обратиться к конкретному листу, где в ячейке находится НДС
А там думаю так не получится. Он берет значение исходя из выделенной Select-ом ячейки. А оно может быть на разных строках у меня, в зависимости куда ткнул, в какую ячейку, такое значение и будет найдено в этих координатах, и выведено на форме. Проверка на число должна уводить от ошибки, форма хоть и проходит инициализацию, но она все равно выполняется процедуру закрытия, при смене листа, а значит это уже не так важно
Думаю, здесь правильнее было бы обратиться к конкретному листу, где в ячейке находится НДС
А там думаю так не получится. Он берет значение исходя из выделенной Select-ом ячейки. А оно может быть на разных строках у меня, в зависимости куда ткнул, в какую ячейку, такое значение и будет найдено в этих координатах, и выведено на форме. Проверка на число должна уводить от ошибки, форма хоть и проходит инициализацию, но она все равно выполняется процедуру закрытия, при смене листа, а значит это уже не так важно lopuxi