Здравствуйте. Подскажите, пожалуйста, как осуществить? Необходимо запустить макрос при активном UserForm1, далее появляется UserForm2 (типа прогресс бара). Прописывать макрос в UserForm2 не рассматривается т.к. модулей много, которые обращаются к UserForm2 (например, сортировка данных, а их 50000 строк и 50 столбцов, также загрузка данных с других файлов, что занимает определенное время). См. пример.
Прогресс бар или форма в форме
13.03.2015 22:25:47
|
|
|
|
13.03.2015 23:07:47
А чем готовый прогресс-бар не устраивает?
|
|
|
|
13.03.2015 23:42:21
Приветствую.
Не обязательно ещё одну форму придумывать. Можно как-то так сделать.
Изменено:
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок. |
|
|
|
14.03.2015 08:19:28
Выскакивает такая ошибка:
|
|
|
|
14.03.2015 11:42:21
Спасибо большое, все понятно. А можно еще вопрос? А если в макросе не цикл, а открытие файла и передача данных в данный файл?
|
|
|
|
14.03.2015 13:21:11
А передача данных как происходит? Если посредством циклов, то по аналогии. Или иначе?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок. |
|
|
|
14.03.2015 14:04:11
Циклов нет. Сначала макрос совершает определенные манипуляции со сторонним файлом, а потом полученные данные (результаты) передает моему файлу, что занимает долгое время. Поэтому необходимо занять пользователя чем-то, чтобы не думал, что комп завис.
|
|
|
|
14.03.2015 15:22:29
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок. |
|||
|
|
14.03.2015 17:00:18
ctrl+C, ctrl+V при Application.ScreenUpdating = True
Изменено: |
|
|
|
14.03.2015 22:08:22
Тогда пропишите в процедуре через определённые промежутки значение прогресс бара вашего, например.
Копирую Прогрессбар=10 % Вставляю Прогрессбар=20 % Закрываю книгу Прогрессбар=70 % и т.д.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок. |
|
|
|
16.03.2015 06:23:14
Получилось, как и хотел, используя простейший прогрес-бар без всяких модулей класса и т.д. Может кому-нибудь пригодится.
|
||||
|
|
|||