Sådan vises en meddelelse på Excel -statuslinjen ved hjælp af VBA

Anonim

Statuslinjen i excel kan bruges som kodeovervågning. Når din VBA -kode er lang, og du udfører flere opgaver ved hjælp af VBA, deaktiverer du ofte skærmopdateringen, så du ikke kan se, at skærmen flimrer. Men på grund af dette får du ikke at vide, hvad der foregår i din kode.

Hvis du ikke ved, hvor statuslinjen i excel er, er den her:

Du kan bruge en statuslinje i excel til at få oplysninger fra Excel uden at forstyrre udførelsen af ​​kode. Du kan vise stadier af din Marco på statuslinjen eller bruge den som statuslinje.

VBA -kode til visning af meddelelser på statuslinjen i Excel

Application.StatusBar = "Besked"

StatusBar er en egenskab for Application -objekt, der tager tekst som input.

I dette eksempel viser jeg bare, hvilken funktion der kører …

Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = Falsk Application.StatusBar = "Opkald til funktion en" 'call function_1 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Opkald til funktion to" 'Opkaldsfunktion_2 Application.Wait (Nu + TimeValue ("00: 00: 2")) Application.StatusBar = "Opkaldsfunktion tre" 'Call function_3 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub 

I dette eksempel er skærmopdateringen indstillet Falsk i begyndelsen.

Nu, før jeg kalder funktionen_1, viser jeg en meddelelse, der kalder funktion et.

Application.Wait (Now + TimeValue ("00: 00: 2")) er denne kodelinje bare til at forfalde et længere funktionsopkald, så jeg får 2 sekunder til at se dette på min statuslinje.

Jeg gjorde det før alle funktionsopkald, og til sidst satte jeg statuslinjen til tom (“”).

Statuslinjemeddelelserne er ganske nyttige til at vise meddelelser, mens du arbejder med lang kode. Når din kode går gennem flere faser eller kører en lang sløjfe, kan du vise det på statuslinjen, så brugeren ved, at koden kører. Ellers kan brugeren tro, at systemet er hængt eller noget.

Nu kan du smart få oplysninger om statuslinjen ved hjælp af VBA i Excel 2016, 2013, 2010 og 2007 ved hjælp af denne one-liner.

GAMLE POST

Visse vba -makroer / koder tager lang tid at køre eller udføre de nødvendige handlinger. Hvis du har deaktiveret skærmopdatering ved hjælp af linjen Application.ScreenUpdating = Falsk i begyndelsen af ​​din kode, så hvis en bruger kører koden, ved de ikke, hvad der foregår og tror, ​​at computersystemet ikke reagerer. Du kan bede koden om at vise en statusmeddelelse på statuslinjen, så brugeren informeres om den aktuelle status for koden.

Her er en simpel kode, der giver en meddelelsesboks, der viser værdierne i kolonne A, der starter fra række 2 til den sidste række. Statuslinjen viser meddelelsen "Makro kører", mens koden kører, og når koden er færdig, viser den "Klar", som er en af ​​standard Excel -meddelelser.

Option Eksplicit undermakro1 () Dim i As Long, lrow As Long Application.ScreenUpdating = Falsk Application.DisplayAlerts = Falsk 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 

For at kopiere ovenstående kode til din fil,

  • Tryk på Alt + F11 på tastaturet.
  • På venstre side ser du Microsoft Excel -objekter.
  • Højreklik og vælg Indsæt.
  • Klik derefter på modul.
  • Kopier koden til kodevinduet til højre.

Du kan se koden indsendt i modulet herunder -

Lad os nu forstå, hvad hver linje i koden gør -

Så først satte vi DISPLAYSTATUSBAR til sand, og derefter indstillede vi meddelelsen til statuslinjen. Når vi bruger Application.StatusBar = “” i slutningen af ​​koden vender den tilbage til standard Excel -meddelelsen, som er KLAR.

Her er et billede af statuslinjen, mens makroen kører.

Når makroen er færdig, vises statuslinjen som følger -

Så på samme måde kan du opdatere statuslinjen på forskellige dele af koden, så brugeren ved, hvad der sker, mens makroen kører. Nogle gange kan der være en eller flere makroer, der dækker flere processer, og denne statuslinje vil være nyttig at vide, ved hvilken proces makroen har nået.

Hvis du kunne lide vores blogs, kan du dele den med dine venner på Facebook. Og også du kan følge os på Twitter og Facebook.
Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre, supplere eller innovere vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet

Populære artikler:

50 Excel -genveje til at øge din produktivitet

Sådan bruges VLOOKUP -funktionen i Excel

Sådan bruges funktionen COUNTIF i Excel

Sådan bruges SUMIF -funktionen i Excel