Како приказати поруку на статусној траци програма Екцел помоћу ВБА

Anonim

Статусна трака у екцелу може се користити као монитор кода. Када је ваш ВБА код дугачак и обављате неколико задатака користећи ВБА, често онемогућујете ажурирање екрана тако да не видите да екран трепери. Али због тога не знате шта се дешава у вашем коду.

Ако не знате где је статусна трака у екцелу, ево је:

Можете користити статусну траку програма Екцел за добијање информација из програма Екцел без ометања извршавања кода. Можете приказати фазе вашег Марца на статусној траци или их користити као траку напретка.

ВБА код за приказ порука на статусној траци програма Екцел

Апплицатион.СтатусБар = "Порука"

СтатусБар је својство Објекта апликације које узима текст као улаз.

У овом примеру само показујем која функција ради …

Суб ДисплаиМессагеОнСтатусБар () Апплицатион.СцреенУпдатинг = Нетачно Апплицатион.СтатусБар = "Позивање прве функције" 'цалл фунцтион_1 Апплицатион.Ваит (Нов + ТимеВалуе ("00: 00: 2")) Апплицатион.СтатусБар = "Позивање друге функције" 'Цалл фунцтион_2 Апплицатион.Ваит (Нов + ТимеВалуе ("00: 00: 2")) Апплицатион.СтатусБар = "Функција позивања три" 'Цалл фунцтион_3 Апплицатион.Ваит (Нов + ТимеВалуе ("00: 00: 2")) Апплицатион.СтатусБар = "" Апплицатион.СцреенУпдатинг = Труе Енд Суб 

У овом примеру, ажурирање екрана је на почетку постављено на Нетачно.

Сада, пре позивања функције_1, приказујем поруку која позива функцију један.

Апплицатион.Ваит (Нов + ТимеВалуе ("00: 00: 2")) овај ред кода служи само за лажирање дуготрајног позива функције, тако да имам 2 секунде да видим ово на статусној траци.

Урадио сам то пре свих позива функција и на крају сам статусну траку поставио празном (“”).

Поруке статусне траке су прилично корисне за приказивање порука током рада са дугачким кодом. Када ваш код пролази кроз више фаза или има дугу петљу, то можете приказати на статусној траци тако да корисник зна да је код покренут. У супротном, корисник може помислити да се систем обесио или тако нешто.

Сада можете паметно добити информације о статусној траци користећи ВБА програма Екцел 2016, 2013, 2010 и 2007 користећи овај једнослојни оквир.

СТАРА ПОСТ

Одређеним вба макроима / кодовима потребно је много времена да се покрену или изврше потребне радње. Ако сте искључили ажурирање екрана помоћу линије Апплицатион.СцреенУпдатинг = Нетачно на почетку вашег кода, ако било који корисник покрене код, неће знати шта се дешава и сматраће да рачунарски систем не реагује. Можете затражити од кода да прикаже статусну поруку на статусној траци како би корисник био обавештен о тренутном статусу кода.

Ево једноставног кода који даје оквир за поруку који приказује вредности у колони А почевши од реда 2 до последњег реда. Статусна трака ће приказивати поруку „Макро ради“ док је код покренут, а када је код готов, показаће се „Спремно“, што је једна од подразумеваних Екцел порука.

Опција Експлицитна подмакро1 () Дим и Ас Лонг, лров Ас Лонг Апплицатион.СцреенУпдатинг = Фалсе Апплицатион.ДисплаиАлертс = Фалсе Апплицатион.ДисплаиСтатусБар = Тачно са радним листовима („Схеет1“) лров = .Ранге („А“ & .Ровс.Цоунт) .Енд (клУп) .Ров За и = 2 да прикаже Апплицатион.СтатусБар = “Макро покренут” Мсгбок .Ранге (“А” & и) .Вредност Нект и Енд Витх Апплицатион.СтатусБар = “” Апплицатион.СцреенУпдатинг = Труе Апплицатион.ДисплаиАлертс = Труе Енд Суб 

Да бисте копирали горњи код у своју датотеку,

  • Притисните Алт + Ф11 на тастатури.
  • Са леве стране видећете Мицрософт Екцел објекте.
  • Кликните десним тастером миша и изаберите Уметни.
  • Затим кликните на Модул.
  • Копирајте код у кодни прозор са десне стране.

Код објављен у модулу испод можете видети -

Хајде сада да разумемо шта свака линија кода ради -

Дакле, прво смо поставили ДИСПЛАИСТАТУСБАР на труе, а затим смо поставили поруку за статусну траку. Кад једном употребимо Апплицатион.СтатусБар = "" на крају кода ће се вратити на подразумевану Екцел поруку која је СПРЕМНА.

Ево слике статусне траке док је макро покренут.

Након што се макро заврши, статусна трака ће се приказати на следећи начин -

Слично томе, можете ажурирати статусну траку на различитим деловима кода, тако да корисник зна шта се дешава док се макро извршава. Понекад може постојати један или више макроа који покривају више процеса, а ова статусна трака ће бити корисна за сазнање у ком процесу је макро достигао.

Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.
Волели бисмо да чујемо од вас, реците нам како можемо побољшати, допунити или иновирати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште

Популарни чланци:

50 Екцел пречица за повећање продуктивности

Како се користи функција ВЛООКУП у програму Екцел

Како се користи функција ЦОУНТИФ у програму Екцел

Како се користи функција СУМИФ у програму Екцел