Страницы: 1
RSS
Сообщение без кнопок (не Msgbox)
 
Добрый день!

Прошу помощи.

Msgbox вылезает только с кнопками. А мне нужно именно сообщение, типа "Загрузка...", чтоб включалась вначале и выключалась в конце. Также хотел бы туда переменную засунуть (это возможно?). Типа "Обработано" & c & "из" & y & "компаний"
 
Может форму?
 
А Вы поищите в сети и на форуме по ключевым словам:
ProgressBar
Application.StatusBar
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
В начале макроса поставил
Код
Application.DisplayStatusBar = True
Application.StatusBar = "Ожидайте..."

В конце поставил. И ничего не происходит, ничего он мне не показывает.
Код
Application.DisplayStatusBar = False
 
Вариант с формой.
 
А вы создайте отдельный лист, Разукрасьте его как хочется, спрячьте столбцы. строки, и т.д.
В ма4росе сделайте переход на этот лист. Sheets("Ожидание").Select
после чего отключите обновление экрана: Application.ScreenUpdating = False
После окончания расчета вернитесь на необходимый лист, например: Sheets("Мой конечный расчётный лист").Select
после чего включите обновление экрана: Application.ScreenUpdating = True
Изменено: Evick - 23.09.2015 14:24:21
 
Evick, интересный и относительно простой вариант. :)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Юрий М, спасибо!

Но я с юзерформами совсем не знаком :(
Вот сейчас вставил в код своего макроса шоуформ. И поставил задержку 5 сек. Теперь сижу и наслажнаюсь )))))))))))))))) Он теперь каждое действие 5 сек делает в цикле ))))))))))) Подождемсссс....

А как в эту юзерформу подтягивать переменную из макроса? Т.е. не ту, что в коде юзерформы пишется, а во внешнем макросе. Чтоб юзерформа мне показывала, сколько осталось.
И еще вопрос, как эту переменную вставить не в рамку формы, а в текст формы?

Заранее спасибо!
Изменено: ZavHoz1984 - 23.09.2015 17:07:24
 
Попробовал с отдельным листом. Виснет зараза. Циферку показывает из информационного листа, а все остальное - из предыдущего :(

Выглядит это так. Жму кнопку и посредине красивой таблицы появляется цифра (5,4,3,2,1). Выглядит оч плохо :(
 
Погуглите: макрос изменения статус(прогресс) бара excel
 
Форме нужно делать repaint, ну и DoEvents тоже не помешает.
 
Давным-давно где-то "стащил". Посмотрите
Согласие есть продукт при полном непротивлении сторон
 
Sanja, на 2010 не работает.
Похоже нет в файле самого модуля класса.
Скрытый текст
 
Изменено: TheBestOfTheBest - 23.09.2015 17:17:09
Неизлечимых болезней нет, есть неизлечимые люди.
 
Да ладно?! У меня тоже 2010.
Согласие есть продукт при полном непротивлении сторон
 
Цитата
ZavHoz1984 написал:
как в эту юзерформу подтягивать переменную из макроса?
См. пример )
 
Как вариант: http://excelvba.ru/tools/ProgressIndicator
к статье прикреплены примеры использования прогресс-бара
 
Юрий М, огромное спасибо.

Сделал себе эдакий прогрессбар из этой юзерформы и ничего не лагает. Таймер отрубил, а то он тормозил процесс.
Код
    UserForm1.Show 0
        UserForm1.Label1 = "Осталось обработать " & y - c55 & " компаний"
        'Application.Wait Time:=Now + TimeValue("0:00:01")
        DoEvents
 
Так задержку в одну секунду я делал лишь для того, чтобы имитировать некий процесс, откуда у Вас берётся переменная ))
Страницы: 1
Читают тему
Наверх