Остановка загрузки формы на этапе инициализации
ZetMenChavo
Дата: Суббота, 25.06.2022, 11:35 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 165
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
Здравствуйте. Вопрос простой и на мой взгляд ответ довольно полезный, но почему то в инете не смог найти решение. Собственно сам вопрос в названии темы, сделать так что бы при определенном устовии форма не загружалась. Мои познания в vba конкретно выхода из макросов ограничены "Exit Sub" и "Unload Me", и не одна из них тут не работает. [vba]Код
Private Sub UserForm_Initialize() 'Exit Sub останавливает только макрос, 'а форма всё равно появляется If True Then Exit Sub 'а Unload Me выдаёт ошибку If True Then Unload Me End Sub
[/vba]
Здравствуйте. Вопрос простой и на мой взгляд ответ довольно полезный, но почему то в инете не смог найти решение. Собственно сам вопрос в названии темы, сделать так что бы при определенном устовии форма не загружалась. Мои познания в vba конкретно выхода из макросов ограничены "Exit Sub" и "Unload Me", и не одна из них тут не работает. [vba]Код
Private Sub UserForm_Initialize() 'Exit Sub останавливает только макрос, 'а форма всё равно появляется If True Then Exit Sub 'а Unload Me выдаёт ошибку If True Then Unload Me End Sub
[/vba] ZetMenChavo
Сообщение отредактировал ZetMenChavo - Суббота, 25.06.2022, 11:35
Ответить
Сообщение Здравствуйте. Вопрос простой и на мой взгляд ответ довольно полезный, но почему то в инете не смог найти решение. Собственно сам вопрос в названии темы, сделать так что бы при определенном устовии форма не загружалась. Мои познания в vba конкретно выхода из макросов ограничены "Exit Sub" и "Unload Me", и не одна из них тут не работает. [vba]Код
Private Sub UserForm_Initialize() 'Exit Sub останавливает только макрос, 'а форма всё равно появляется If True Then Exit Sub 'а Unload Me выдаёт ошибку If True Then Unload Me End Sub
[/vba] Автор - ZetMenChavo Дата добавления - 25.06.2022 в 11:35
Nic70y
Дата: Суббота, 25.06.2022, 12:08 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация:
2369
±
Замечаний:
0% ±
Excel 2010
а так [vba]Код
Sub u___() If False Then UserForm1.Show End Sub
[/vba]не проще?
а так [vba]Код
Sub u___() If False Then UserForm1.Show End Sub
[/vba]не проще? Nic70y
ЮMoney 41001841029809
Ответить
Сообщение а так [vba]Код
Sub u___() If False Then UserForm1.Show End Sub
[/vba]не проще? Автор - Nic70y Дата добавления - 25.06.2022 в 12:08
ZetMenChavo
Дата: Суббота, 25.06.2022, 12:16 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 165
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
Nic70y, не знаю что вы имели ввиду под проще, но эта команда сначала создает форму (что как раз таки не надо), а потом при закрытии на крестии ещё и ошибка вылетает. Если же имели ввиду что ваш макрос в Модулях нужно делать, то "If Then UserForm1.Show" придется прописовать в каждом макросе который будет вызывать форму. По возможности хотелось бы в самой форме прописать отмену её загрузки.
Nic70y, не знаю что вы имели ввиду под проще, но эта команда сначала создает форму (что как раз таки не надо), а потом при закрытии на крестии ещё и ошибка вылетает. Если же имели ввиду что ваш макрос в Модулях нужно делать, то "If Then UserForm1.Show" придется прописовать в каждом макросе который будет вызывать форму. По возможности хотелось бы в самой форме прописать отмену её загрузки. ZetMenChavo
Ответить
Сообщение Nic70y, не знаю что вы имели ввиду под проще, но эта команда сначала создает форму (что как раз таки не надо), а потом при закрытии на крестии ещё и ошибка вылетает. Если же имели ввиду что ваш макрос в Модулях нужно делать, то "If Then UserForm1.Show" придется прописовать в каждом макросе который будет вызывать форму. По возможности хотелось бы в самой форме прописать отмену её загрузки. Автор - ZetMenChavo Дата добавления - 25.06.2022 в 12:16
RAN
Дата: Суббота, 25.06.2022, 12:21 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Используйте [vba]Код
Private Sub UserForm_Activate()
[/vba]
Используйте [vba]Код
Private Sub UserForm_Activate()
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Используйте [vba]Код
Private Sub UserForm_Activate()
[/vba] Автор - RAN Дата добавления - 25.06.2022 в 12:21
Nic70y
Дата: Суббота, 25.06.2022, 12:22 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация:
2369
±
Замечаний:
0% ±
Excel 2010
что вы имели ввиду под проще
смысл вызывать форму если условие не выполнено.придется прописовать в каждом макросе
ну мне об этом не известно, сколько у вас макросов и т.п.
что вы имели ввиду под проще
смысл вызывать форму если условие не выполнено.придется прописовать в каждом макросе
ну мне об этом не известно, сколько у вас макросов и т.п.Nic70y
ЮMoney 41001841029809
Ответить
Сообщение что вы имели ввиду под проще
смысл вызывать форму если условие не выполнено.придется прописовать в каждом макросе
ну мне об этом не известно, сколько у вас макросов и т.п.Автор - Nic70y Дата добавления - 25.06.2022 в 12:22
RAN
Дата: Суббота, 25.06.2022, 12:26 |
Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
смысл вызывать форму если условие не выполнено.
Ну я, например, только что делал подобное. При открытии формы вызываю Faledialog. При отмене выбора в [vba]Код
Private Sub UserForm_Initialize()
[/vba] возникает ошибка, а в [vba]Код
Private Sub UserForm_Activate()
[/vba] нет.
смысл вызывать форму если условие не выполнено.
Ну я, например, только что делал подобное. При открытии формы вызываю Faledialog. При отмене выбора в [vba]Код
Private Sub UserForm_Initialize()
[/vba] возникает ошибка, а в [vba]Код
Private Sub UserForm_Activate()
[/vba] нет.RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение смысл вызывать форму если условие не выполнено.
Ну я, например, только что делал подобное. При открытии формы вызываю Faledialog. При отмене выбора в [vba]Код
Private Sub UserForm_Initialize()
[/vba] возникает ошибка, а в [vba]Код
Private Sub UserForm_Activate()
[/vba] нет.Автор - RAN Дата добавления - 25.06.2022 в 12:26
Nic70y
Дата: Суббота, 25.06.2022, 12:32 |
Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация:
2369
±
Замечаний:
0% ±
Excel 2010
При открытии формы вызываю Faledialog
интересно. надо попробовать. в понедельник наверное. я бы делал на оборот, наверное, может быть - при выборе файла вызывал бы форму.
При открытии формы вызываю Faledialog
интересно. надо попробовать. в понедельник наверное. я бы делал на оборот, наверное, может быть - при выборе файла вызывал бы форму.Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Суббота, 25.06.2022, 12:34
Ответить
Сообщение При открытии формы вызываю Faledialog
интересно. надо попробовать. в понедельник наверное. я бы делал на оборот, наверное, может быть - при выборе файла вызывал бы форму.Автор - Nic70y Дата добавления - 25.06.2022 в 12:32
ZetMenChavo
Дата: Суббота, 25.06.2022, 12:53 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 165
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
RAN, Спасиб за наводку Activate похоже работает именно так как мне и надо). Изучу это по подробнее, чтоб не нарваться на подводные камни. [vba]Код
Private Sub UserForm_Activate() If True Then Unload Me End Sub
[/vba]
RAN, Спасиб за наводку Activate похоже работает именно так как мне и надо). Изучу это по подробнее, чтоб не нарваться на подводные камни. [vba]Код
Private Sub UserForm_Activate() If True Then Unload Me End Sub
[/vba] ZetMenChavo
Ответить
Сообщение RAN, Спасиб за наводку Activate похоже работает именно так как мне и надо). Изучу это по подробнее, чтоб не нарваться на подводные камни. [vba]Код
Private Sub UserForm_Activate() If True Then Unload Me End Sub
[/vba] Автор - ZetMenChavo Дата добавления - 25.06.2022 в 12:53
RAN
Дата: Суббота, 25.06.2022, 15:25 |
Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
наверное, может быть - при выборе файла вызывал бы форму.
Могёт быть
наверное, может быть - при выборе файла вызывал бы форму.
Могёт бытьRAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение наверное, может быть - при выборе файла вызывал бы форму.
Могёт бытьАвтор - RAN Дата добавления - 25.06.2022 в 15:25