Statusfältet i excel kan användas som kodmonitor. När din VBA -kod är lång och du utför flera uppgifter med VBA, inaktiverar du ofta skärmuppdateringen så att du inte ser att skärmen flimrar. Men på grund av detta får du inte veta vad som händer i din kod.
Om du inte vet var statusfältet i excel är här:
Du kan använda ett statusfält i Excel för att få information från Excel utan att störa körningen av kod. Du kan visa stadier av din Marco i statusfältet eller använda den som förloppsindikator.
VBA -kod för att visa meddelanden i statusfältet i Excel
Application.StatusBar = "Meddelande"
StatusBar är en egenskap hos Application -objekt som tar text som inmatning.
I det här exemplet visar jag bara vilken funktion som körs …
Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = Falskt Application.StatusBar = "Anropar funktion ett" 'call function_1 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Anropar funktion två" 'Call function_2 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Anropsfunktion tre" 'Call function_3 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub
I det här exemplet är skärmuppdateringen inställd Falsk i början.
Nu, innan jag ringer funktionen_1, visar jag ett meddelande som kallar funktion ett.
Application.Wait (Now + TimeValue ("00: 00: 2")) denna kodrad är bara att fejka ett långvarigt funktionssamtal så att jag får 2 sekunder att se detta i mitt statusfält.
Jag gjorde det före alla funktionssamtal och i slutändan ställde jag statusfältet till tomt (“”).
Statusfältets meddelanden är ganska användbara för att visa meddelanden när du arbetar med lång kod. När din kod går igenom flera steg eller kör en lång loop kan du visa det på statusfältet så att användaren vet att koden körs. Annars kan användaren tro att systemet har hängt eller något.
Nu kan du smart få information om statusfältet med hjälp av VBA i Excel 2016, 2013, 2010 och 2007 med den här enfodralet.
GAMMEL INLÄGG
Vissa vba -makron / koder tar lång tid att köra eller utföra de åtgärder som krävs. Om du har stängt av skärmuppdatering med raden Application.ScreenUpdating = Falskt i början av din kod, om någon användare kör koden kommer de inte att veta vad som händer och tror att datorsystemet inte svarar. Du kan be koden att visa ett statusmeddelande i statusfältet så att användaren informeras om kodens aktuella status.
Här är en enkel kod som ger en meddelanderuta som visar värdena i kolumn A från rad 2 till sista raden. Statusfältet visar meddelandet "Makro körs" när koden körs, och när koden är klar visar den "Klar" som är ett av standard Excel -meddelanden.
Alternativ 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
För att kopiera ovanstående kod till din fil,
- Tryck på Alt + F11 på tangentbordet.
- På vänster sida ser du Microsoft Excel -objekt.
- Högerklicka och välj Infoga.
- Klicka sedan på Modul.
- Kopiera koden till kodfönstret till höger.
Du kan se koden publicerad i modulen nedan -
Låt oss nu förstå vad varje rad i koden gör -
Så först ställer vi in DISPLAYSTATUSBAR till true och sedan ställer vi in meddelandet för statusfältet. När vi använder Application.StatusBar = “” i slutet av koden återgår den till standard Excel -meddelandet som är KLAR.
Här är en bild på statusfältet medan makrot körs.
När makrot är klart visas statusfältet enligt följande -
På samma sätt kan du uppdatera statusfältet på olika delar av koden, så att användaren vet vad som händer när makrot körs. Ibland kan det finnas ett eller flera makron som täcker flera processer och detta statusfält kommer att vara användbart att veta vid vilken process makrot har nått.
Om du gillade våra bloggar, dela den med dina vänner på Facebook. Och du kan också följa oss på Twitter och Facebook.
Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra, komplettera eller förnya vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen
Populära artiklar:
50 Excel -genvägar för att öka din produktivitet
Så här använder du VLOOKUP -funktionen i Excel
Så här använder du funktionen COUNTIF i Excel
Hur man använder SUMIF -funktionen i Excel