Slik viser du en melding på Excel -statuslinjen ved hjelp av VBA

Innholdsfortegnelse

Statuslinjen i excel kan brukes som en kodemonitor. Når VBA -koden din er lang og du gjør flere oppgaver med VBA, deaktiverer du ofte skjermoppdateringen slik at du ikke ser at skjermen flimrer. Men på grunn av dette får du ikke vite hva som skjer i koden din.

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

Du kan bruke en statuslinje i Excel for å få informasjon fra Excel uten å forstyrre kjøring av kode. Du kan vise stadier av Marco på statuslinjen eller bruke den som fremdriftslinje.

VBA -kode for å vise meldinger på statuslinjen i Excel

Application.StatusBar = "Melding"

StatusBar er en egenskap for Application -objektet som tar tekst som input.

I dette eksemplet viser jeg bare hvilken funksjon som kjører …

Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = False Application.StatusBar = "Kaller funksjon en" 'call function_1 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Ringer funksjon to" 'Call function_2 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Anropsfunksjon tre" 'Call function_3 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub 

I dette eksemplet er skjermoppdateringen satt False i begynnelsen.

Nå, før jeg ringer til funksjon_1, viser jeg en melding som kaller funksjon en.

Application.Wait (Now + TimeValue ("00: 00: 2")) Denne kodelinjen er bare å forfalske et langvarig funksjonsanrop, slik at jeg får 2 sekunder til å se dette på statuslinjen.

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

Statuslinjemeldingene er ganske nyttige for å vise meldinger mens du arbeider med lang kode. Når koden går gjennom flere trinn eller kjører en lang sløyfe, kan du vise det på statuslinjen slik at brukeren vet at koden kjører. Ellers kan brukeren tro at systemet har hengt seg eller noe.

Nå kan du smart få informasjon om statuslinjen ved å bruke VBA i Excel 2016, 2013, 2010 og 2007 ved å bruke denne ettlinjen.

GAMMEL POST

Enkelte vba -makroer / koder tar lang tid å kjøre eller utføre handlingene som kreves. Hvis du har slått av oppdatering av skjermen ved hjelp av linjen Application.ScreenUpdating = Falsk i begynnelsen av koden din, så hvis en bruker kjører koden, vil de ikke vite hva som skjer og tror at datasystemet ikke reagerer. Du kan be koden om å vise en statusmelding på statuslinjen slik at brukeren blir informert om den nåværende statusen for koden.

Her er en enkel kode som gir en meldingsboks som viser verdiene i kolonne A fra rad 2 til siste rad. Statuslinjen viser meldingen "Makro kjører" mens koden kjører, og når koden er ferdig, vil den vise "Klar" som er en av standard Excel -meldinger.

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 

For å kopiere koden ovenfor til filen din,

  • Trykk Alt + F11 på tastaturet.
  • På venstre side vil du se Microsoft Excel -objekter.
  • Høyreklikk og velg Sett inn.
  • Klikk deretter på Modul.
  • Kopier koden til kodevinduet til høyre.

Du kan se koden lagt ut i modulen nedenfor -

La oss nå forstå hva hver linje i koden gjør -

Så først setter vi DISPLAYSTATUSBAR til true og deretter setter vi meldingen for statuslinjen. Når vi bruker Application.StatusBar = “” på slutten av koden går den tilbake til standard Excel -melding som er KLAR.

Her er et bilde av statuslinjen mens makroen kjører.

Etter at makroen er ferdig, vises statuslinjen som følger -

På samme måte kan du oppdatere statuslinjen på forskjellige deler av koden, slik at brukeren vet hva som skjer mens makroen kjører. Noen ganger kan det være en eller flere makroer som dekker flere prosesser, og denne statuslinjen vil være nyttig å vite ved hvilken prosess makroen har nådd.

Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post

Populære artikler:

50 Excel -snarveier for å øke produktiviteten

Slik bruker du VLOOKUP -funksjonen i Excel

Slik bruker du COUNTIF -funksjonen i Excel

Slik bruker du SUMIF -funksjonen i Excel

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave