Как отобразить сообщение на Excel Строка состояния с помощью VBA
Строку состояния в Excel можно использовать как монитор кода. Когда ваш код VBA длинный и вы выполняете несколько задач с помощью VBA, вы часто отключаете обновление экрана, чтобы не видеть мерцания экрана. Но из-за этого вы не узнаете, что происходит в вашем коде.
Если вы не знаете, где находится строка состояния в Excel, вот она:
Вы можете использовать строку состояния Excel, чтобы получать информацию из Excel, не мешая выполнению кода. Вы можете отображать этапы вашего Marco в строке состояния или использовать его в качестве индикатора выполнения.
Код VBA для отображения сообщений в строке состояния Excel
Application.StatusBar = "Message"
StatusBar — это свойство объекта Application, которое принимает текст в качестве ввода.
В этом примере я просто показываю, какая функция работает …
Sub DisplayMessageOnStatusBar() Application.ScreenUpdating = False Application.StatusBar = "Calling function one " ' call function_1 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function two" 'Call function_2 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function Three" 'Call function_3 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub
В этом примере для обновления экрана установлено значение False в начале.
Теперь, перед вызовом функции_1, я показываю сообщение, которое вызывает функцию один.
Application.Wait (Now + TimeValue («00: 00: 2»)) эта строка кода предназначена только для имитации длительного вызова функции, чтобы у меня было 2 секунды, чтобы увидеть это в строке состояния.
Я сделал это перед всеми вызовами функций и, в конце концов, установил пустую строку состояния («»).
Сообщения строки состояния весьма полезны для отображения сообщений при работе с длинным кодом. Когда ваш код проходит несколько этапов или запускает длинный цикл, вы можете показать это в строке состояния, чтобы пользователь знал, что код запущен. Иначе пользователь может подумать, что система зависла или что-то в этом роде.
Теперь вы можете быстро получать информацию в строке состояния, используя VBA в Excel 2016, 2013, 2010 и 2007, используя этот однострочный интерфейс.
СТАРЫЙ ЗАПИСЬ
Некоторые макросы / коды vba требуют много времени для запуска или выполнения необходимых действий. Если вы отключили обновление экрана с помощью строки Application.ScreenUpdating = False в начале кода, то, если какой-либо пользователь запустит код, он не узнает, что происходит, и подумает, что компьютерная система не отвечает. попросить код отобразить сообщение о состоянии в строке состояния, чтобы пользователь был проинформирован о текущем состоянии кода .
Вот простой код, который дает окно сообщения, показывающее значения в столбце A, начиная со строки 2 и заканчивая последней строкой. В строке состояния будет отображаться сообщение «Макрос запущен», когда код выполняется, и как только код будет выполнен, он покажет «Готово», которое является одним из сообщений Excel по умолчанию.
Option Explicit Sub macro1() Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = True With Worksheets(“Sheet1”) lrow = .Range(“A” & .Rows.Count).End(xlUp).Row For i = 2 to lrow Application.StatusBar = “Macro running” Msgbox .Range(“A” &i).Value Next i End With Application.StatusBar = “” Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Чтобы скопировать приведенный выше код в свой файл, * нажмите Alt + F11 на клавиатуре.
-
С левой стороны вы увидите объекты Microsoft Excel.
-
Щелкните правой кнопкой мыши и выберите «Вставить».
-
Затем нажмите «Модуль».
-
Скопируйте код в окно кода справа.
Вы можете увидеть код, размещенный в модуле ниже —
Теперь давайте разберемся, что делает каждая строка кода. Сначала мы устанавливаем DISPLAYSTATUSBAR в значение true, а затем устанавливаем сообщение для строки состояния. Как только мы используем _Application.StatusBar = «» _ в конце кода, оно вернется к сообщение Excel по умолчанию, которое ГОТОВО.
Вот изображение строки состояния во время работы макроса.
После завершения макроса строка состояния примет следующий вид —
Точно так же вы можете обновлять строку состояния в разных частях кода, чтобы пользователь знал, что происходит во время выполнения макроса.
Иногда может быть один или несколько макросов, которые охватывают несколько процессов, и эта строка состояния будет полезна, чтобы узнать, в каком процессе макрос был достигнут.
Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]
Популярные статьи:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-повышения-продуктивность [50 сочетаний клавиш Excel для повышения производительности]
link: / формулы-и-функции-введение-функции-vlookup [Как использовать функцию ВПР в Excel]
link: / tips-countif-in-microsoft-excel [Как использовать функцию СЧЁТЕСЛИ в Excel]
link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel]