Приветствую, коллеги.
Кто сможет объяснить сиё явление?
Есть одна обычная форма VBA, и 2 простых макроса:
Первый макрос запускает форму, второй - запускает копию формы.
(второй макрос, если несколько раз его запускать, наплодит несколько форм)
Проблема: если СВЕРНУТЬ окно Excel, а потом снова развернуть, — все формы, созданные вторым макросом, исчезают (закрываются)
Нюанс: если форма совсем пустая (без контролов) - она не закроется
Если же есть хоть один элемент управления на ней, - форма исчезнет.
Формы, созданные первым макросом, не исчезают
Во вложении, - пример файла
Вопросы:
несколько копий формы используется для редактирования нескольких однотипных объектов одновременно
Кто сможет объяснить сиё явление?
Есть одна обычная форма VBA, и 2 простых макроса:
Код |
---|
Sub test1() With UserForm1 .Show End With End Sub Sub test2() With New UserForm1 .Show End With End Sub |
(второй макрос, если несколько раз его запускать, наплодит несколько форм)
Проблема: если СВЕРНУТЬ окно Excel, а потом снова развернуть, — все формы, созданные вторым макросом, исчезают (закрываются)
Нюанс: если форма совсем пустая (без контролов) - она не закроется
Если же есть хоть один элемент управления на ней, - форма исчезнет.
Формы, созданные первым макросом, не исчезают
Во вложении, - пример файла
1 | Нажмите зеленую кнопку |
2 | Нажмите 1-2 раза синюю кнопку |
Видим 2-3 запущенных формы | |
3 | Сверните окно Excel, потом обратно разверните |
Осталась видима только одна форма… |
Вопросы:
- кто может объяснить, почему во втором случае формы закрываются (исчезают)?
- как этого избежать, именно в варианте со вторым макросом?
несколько копий формы используется для редактирования нескольких однотипных объектов одновременно