Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Остановка загрузки формы на этапе инициализации - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Остановка загрузки формы на этапе инициализации (Макросы/Sub)
Остановка загрузки формы на этапе инициализации
ZetMenChavo Дата: Суббота, 25.06.2022, 11:35 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 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]


Сообщение отредактировал 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
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
а так
[vba]
Код
Sub u___()
    If False Then UserForm1.Show
End Sub
[/vba]не проще?


Ю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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Nic70y, не знаю что вы имели ввиду под проще, но эта команда сначала создает форму (что как раз таки не надо), а потом при закрытии на крестии ещё и ошибка вылетает.
Если же имели ввиду что ваш макрос в Модулях нужно делать, то "If Then UserForm1.Show" придется прописовать в каждом макросе который будет вызывать форму.
По возможности хотелось бы в самой форме прописать отмену её загрузки.
 
Ответить
СообщениеNic70y, не знаю что вы имели ввиду под проще, но эта команда сначала создает форму (что как раз таки не надо), а потом при закрытии на крестии ещё и ошибка вылетает.
Если же имели ввиду что ваш макрос в Модулях нужно делать, то "If Then UserForm1.Show" придется прописовать в каждом макросе который будет вызывать форму.
По возможности хотелось бы в самой форме прописать отмену её загрузки.

Автор - ZetMenChavo
Дата добавления - 25.06.2022 в 12:16
RAN Дата: Суббота, 25.06.2022, 12:21 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 0% ±

2010
Используйте
[vba]
Код
Private Sub UserForm_Activate()
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИспользуйте
[vba]
Код
Private Sub UserForm_Activate()
[/vba]

Автор - RAN
Дата добавления - 25.06.2022 в 12:21
Nic70y Дата: Суббота, 25.06.2022, 12:22 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
что вы имели ввиду под проще
смысл вызывать форму если условие не выполнено.
придется прописовать в каждом макросе
ну мне об этом не известно, сколько у вас макросов и т.п.


ЮMoney 41001841029809
 
Ответить
Сообщение
что вы имели ввиду под проще
смысл вызывать форму если условие не выполнено.
придется прописовать в каждом макросе
ну мне об этом не известно, сколько у вас макросов и т.п.

Автор - Nic70y
Дата добавления - 25.06.2022 в 12:22
RAN Дата: Суббота, 25.06.2022, 12:26 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 0% ±

2010
смысл вызывать форму если условие не выполнено.

Ну я, например, только что делал подобное. При открытии формы вызываю 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
Дата добавления - 25.06.2022 в 12:26
Nic70y Дата: Суббота, 25.06.2022, 12:32 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 7722
Репутация: 1852 ±
Замечаний: 0% ±

Excel 2010
При открытии формы вызываю Faledialog
интересно. надо попробовать. в понедельник наверное.
я бы делал на оборот, наверное, может быть - при выборе файла вызывал бы форму.


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Суббота, 25.06.2022, 12:34
 
Ответить
Сообщение
При открытии формы вызываю Faledialog
интересно. надо попробовать. в понедельник наверное.
я бы делал на оборот, наверное, может быть - при выборе файла вызывал бы форму.

Автор - Nic70y
Дата добавления - 25.06.2022 в 12:32
ZetMenChavo Дата: Суббота, 25.06.2022, 12:53 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
RAN, Спасиб за наводку :D Activate похоже работает именно так как мне и надо). Изучу это по подробнее, чтоб не нарваться на подводные камни.
[vba]
Код
Private Sub UserForm_Activate()
    If True Then Unload Me
End Sub
[/vba]
 
Ответить
СообщениеRAN, Спасиб за наводку :D 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
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 0% ±

2010
наверное, может быть - при выборе файла вызывал бы форму.

Могёт быть


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
наверное, может быть - при выборе файла вызывал бы форму.

Могёт быть

Автор - RAN
Дата добавления - 25.06.2022 в 15:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Остановка загрузки формы на этапе инициализации (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!