Строку состояния в Excel можно использовать как монитор кода. Когда ваш код VBA длинный и вы выполняете несколько задач с помощью VBA, вы часто отключаете обновление экрана, чтобы не видеть мерцания экрана. Но из-за этого вы не узнаете, что происходит в вашем коде.

Если вы не знаете, где находится строка состояния в Excel, вот она:

unnamed

Вы можете использовать строку состояния 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 секунды, чтобы увидеть это в строке состояния.

pasted image 0

Я сделал это перед всеми вызовами функций и, в конце концов, установил пустую строку состояния («»).

Сообщения строки состояния весьма полезны для отображения сообщений при работе с длинным кодом. Когда ваш код проходит несколько этапов или запускает длинный цикл, вы можете показать это в строке состояния, чтобы пользователь знал, что код запущен. Иначе пользователь может подумать, что система зависла или что-то в этом роде.

Теперь вы можете быстро получать информацию в строке состояния, используя 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.

  • Щелкните правой кнопкой мыши и выберите «Вставить».

  • Затем нажмите «Модуль».

  • Скопируйте код в окно кода справа.

Вы можете увидеть код, размещенный в модуле ниже —

img1

Теперь давайте разберемся, что делает каждая строка кода. Сначала мы устанавливаем DISPLAYSTATUSBAR в значение true, а затем устанавливаем сообщение для строки состояния. Как только мы используем _Application.StatusBar = «» _ в конце кода, оно вернется к сообщение Excel по умолчанию, которое ГОТОВО.

Вот изображение строки состояния во время работы макроса.

img2

После завершения макроса строка состояния примет следующий вид —

img3

Точно так же вы можете обновлять строку состояния в разных частях кода, чтобы пользователь знал, что происходит во время выполнения макроса.

Иногда может быть один или несколько макросов, которые охватывают несколько процессов, и эта строка состояния будет полезна, чтобы узнать, в каком процессе макрос был достигнут.

Если вам понравились наши блоги, поделитесь ими с друзьями на 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]