Jak zobrazit zprávu na stavovém řádku aplikace Excel pomocí VBA

Anonim

Stavový řádek v Excelu lze použít jako monitor kódu. Když je váš kód VBA dlouhý a provádíte několik úkolů pomocí VBA, často deaktivujete aktualizaci obrazovky, abyste neviděli, že tato obrazovka bliká. Ale kvůli tomu nevíte, co se ve vašem kódu děje.

Pokud nevíte, kde je stavový řádek v aplikaci Excel, zde je:

K získání informací z Excelu můžete použít stavový řádek aplikace Excel, aniž byste rušili provádění kódu. Fáze svého Marca můžete zobrazit na stavovém řádku nebo jej použít jako ukazatel průběhu.

Kód VBA pro zobrazení zpráv na stavovém řádku aplikace Excel

Application.StatusBar = "Zpráva"

StatusBar je vlastnost Application objektu, která bere text jako vstup.

V tomto příkladu právě ukazuji, která funkce běží…

Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = False Application.StatusBar = "Volání funkce jedna" 'call function_1 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Volání funkce dva" 'Volání funkce_2 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "Volání funkce tři" 'Zavolejte function_3 Application.Wait (Now + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub 

V tomto případě je aktualizace obrazovky na začátku nastavena na hodnotu False.

Nyní, před voláním function_1, zobrazuji zprávu, která volá funkci one.

Application.Wait (Now + TimeValue ("00: 00: 2")) tento řádek kódu je pouze pro falešné zdlouhavé volání funkce, takže dostanu 2 sekundy, abych to viděl na svém stavovém řádku.

Udělal jsem to před všemi voláními funkcí a nakonec jsem stavový řádek nechal prázdný („“).

Zprávy stavového řádku jsou velmi užitečné pro zobrazení zpráv při práci s dlouhým kódem. Když váš kód prochází několika fázemi nebo spustí dlouhou smyčku, můžete to ukázat na stavovém řádku, aby uživatel věděl, že kód běží. V opačném případě si uživatel může myslet, že systém zablokoval nebo co.

Nyní můžete chytře získat informace o stavovém řádku pomocí VBA aplikace Excel 2016, 2013, 2010 a 2007 pomocí této jednorázové linky.

STARÝ POST

Některým makrům / kódům vba trvá spuštění nebo provedení požadovaných akcí dlouhou dobu. Pokud jste vypnuli aktualizaci obrazovky pomocí řádku Application.ScreenUpdating = False na začátku kódu, pak pokud uživatel spustí kód, nebude vědět, co se děje, a bude si myslet, že počítačový systém nereaguje. Můžete požádat kód o zobrazení stavové zprávy na stavovém řádku, aby byl uživatel informován o aktuálním stavu kódu.

Zde je jednoduchý kód, který poskytuje okno se zprávou zobrazující hodnoty ve sloupci A od řádku 2 do posledního řádku. Na stavovém řádku se při spuštění kódu zobrazí zpráva „Makro spuštěno“ a po dokončení kódu se zobrazí „Připraveno“, což je jedna z výchozích zpráv aplikace Excel.

Volba Explicitní dílčí makro1 () 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 

Chcete -li výše uvedený kód zkopírovat do souboru,

  • Stiskněte Alt + F11 na klávesnici.
  • Na levé straně uvidíte objekty aplikace Microsoft Excel.
  • Klikněte pravým tlačítkem a vyberte Vložit.
  • Poté klikněte na Modul.
  • Zkopírujte kód do okna kódu vpravo.

Můžete vidět kód zveřejněný v modulu níže -

Nyní pojďme pochopit, co každý řádek kódu dělá -

Nejprve tedy nastavíme DISPLAYSTATUSBAR na true a poté nastavíme zprávu pro stavový řádek. Jakmile použijeme Application.StatusBar = “” na konci kódu se vrátí k výchozí zprávě aplikace Excel, která je READY.

Zde je obrázek stavového řádku, když je makro spuštěno.

Po dokončení makra se stavový řádek zobrazí následovně -

Podobně tedy můžete aktualizovat stavový řádek v různých částech kódu, aby uživatel věděl, co se děje při spuštění makra. Někdy může existovat jedno nebo více maker, které pokrývají více procesů, a tento stavový řádek bude užitečné vědět, při kterém procesu makro dosáhlo.

Pokud se vám naše blogy líbily, sdílejte je se svými přáteli na Facebooku. A také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit, doplnit nebo inovovat naši práci a zlepšit ji pro vás. Napište nám na e -mail

Oblíbené články:

50 zkratek aplikace Excel pro zvýšení produktivity

Jak používat funkci VLOOKUP v Excelu

Jak používat funkci COUNTIF v aplikaci Excel

Jak používat funkci SUMIF v aplikaci Excel