Kaip rodyti pranešimą „Excel“ būsenos juostoje naudojant VBA

Anonim

„Excel“ būsenos juosta gali būti naudojama kaip kodo monitorius. Kai jūsų VBA kodas yra ilgas ir atliekate kelias užduotis naudodami VBA, dažnai išjungiate ekrano atnaujinimą, kad nematytumėte to ekrano mirgėjimo. Tačiau dėl to jūs nežinote, kas vyksta jūsų kode.

Jei nežinote, kur yra „Excel“ būsenos juosta, čia yra:

Galite naudoti „Excel“ būsenos juostą, kad gautumėte informacijos iš „Excel“, netrukdydami vykdyti kodo. „Marco“ etapus galite rodyti būsenos juostoje arba naudoti kaip pažangos juostą.

VBA kodas, skirtas rodyti pranešimus „Excel“ būsenos juostoje

Application.StatusBar = "Pranešimas"

„StatusBar“ yra „Application“ objekto ypatybė, į kurią įvedamas tekstas.

Šiame pavyzdyje aš tik parodau, kuri funkcija veikia …

Sub DisplayMessageOnStatusBar () Application.ScreenUpdating = Netiesa Application.StatusBar = "Pirma skambinimo funkcija" 'call function_1 Application.Wait (Dabar + TimeValue ("00: 00: 2")) Application.StatusBar = "Antroji skambinimo funkcija" 'Skambinimo funkcija_2 Application.Wait (Dabar + TimeValue ("00: 00: 2")) Application.StatusBar = "Trečioji skambinimo funkcija" 'Skambinti function_3 Application.Wait (Dabar + TimeValue ("00: 00: 2")) Application.StatusBar = "" Application.ScreenUpdating = Tikroji pabaiga 

Šiame pavyzdyje ekrano atnaujinimas pradžioje nustatytas kaip klaidingas.

Dabar, prieš skambindamas funkcijai_1, rodau pranešimą, kuriame skamba pirmoji funkcija.

Application.Wait (Dabar + TimeValue ("00: 00: 2")) ši kodo eilutė skirta tik suklastoti ilgą funkcinį iškvietimą, kad gausiu 2 sekundes, kad tai pamatyčiau savo būsenos juostoje.

Aš tai padariau prieš visus funkcijų skambučius ir galiausiai nustatiau būsenos juostą į tuščią („“).

Būsenos juostos pranešimai yra gana naudingi rodant pranešimus dirbant su ilgu kodu. Kai jūsų kodas pereina kelis etapus arba veikia ilgą ciklą, galite tai parodyti būsenos juostoje, kad vartotojas žinotų, jog kodas veikia. Priešingu atveju vartotojas gali pagalvoti, kad sistema pakabinta ar kažkas panašaus.

Dabar galite protingai gauti informacijos apie būsenos juostą naudodami „Excel 2016“, „2013“, „2010“ ir „2007“ VBA, naudodami šį vieno eilutės elementą.

SENAS POSTAS

Tam tikroms „vba“ makrokomandoms / kodams reikia daug laiko paleisti arba atlikti reikiamus veiksmus. Jei išjungėte ekrano atnaujinimą naudodami liniją Application.ScreenUpdating = Netiesa kodo pradžioje, tada, jei kuris nors vartotojas paleidžia kodą, jis nežinos, kas vyksta, ir manys, kad kompiuterinė sistema nereaguoja. Galite paprašyti kodo rodyti būsenos pranešimą būsenos juostoje, kad vartotojas būtų informuotas apie esamą kodo būseną.

Čia yra paprastas kodas, kuriame pateikiamas pranešimų langelis, rodantis A stulpelio reikšmes, pradedant nuo 2 eilutės iki paskutinės eilutės. Būsenos juostoje rodomas pranešimas „Makro veikia“, kai kodas veikia, o kai kodas bus padarytas, bus rodoma „Paruošta“, kuris yra vienas iš numatytųjų „Excel“ pranešimų.

Parinktis „Explicit Sub macro“ () Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = Tiesa su darbalapiais („Sheet1“) lrow = .Range („A“ & .Rows.Count) .End (xlUp) .Row Jei i = 2, kad peržiūrėtų Application.StatusBar = „Makro, kurioje veikia“ „Msgbox“ .Range („A“ & i) .Vertybė Toliau i End With Application.StatusBar = „“ Application.ScreenUpdating = True Application.DisplayAlerts = Tikrasis pabaiga 

Norėdami nukopijuoti aukščiau pateiktą kodą į savo failą,

  • Klaviatūroje paspauskite Alt + F11.
  • Kairėje pusėje matysite „Microsoft Excel“ objektus.
  • Dešiniuoju pelės mygtuku spustelėkite ir pasirinkite Įterpti.
  • Tada spustelėkite „Modulis“.
  • Nukopijuokite kodą į kodo langą dešinėje.

Kodą galite pamatyti žemiau esančiame modulyje -

Dabar supraskime, ką daro kiekviena kodo eilutė -

Taigi pirmiausia nustatome „DISPLAYSTATUSBAR“ į „true“, o tada nustatome būsenos juostos pranešimą. Kai mes naudojame Application.StatusBar = "" kodo pabaigoje jis grįš prie numatytojo „Excel“ pranešimo, kuris yra PARUOŠTAS.

Čia yra būsenos juostos nuotrauka, kai veikia makrokomanda.

Kai makrokomanda bus baigta, būsenos juosta bus rodoma taip -

Panašiai galite atnaujinti būsenos juostą skirtingose ​​kodo dalyse, kad vartotojas žinotų, kas vyksta vykdant makrokomandą. Kartais gali būti viena ar daugiau makrokomandų, apimančių kelis procesus, ir ši būsenos juosta bus naudinga norint sužinoti, kuriame procese makrokomanda pasiekė.

Jei jums patiko mūsų tinklaraščiai, pasidalykite jais su draugais „Facebook“. Taip pat galite sekti mus „Twitter“ ir „Facebook“.
Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime patobulinti, papildyti ar naujovinti savo darbą ir padaryti jį geresnį. Parašykite mums el

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti

Kaip naudotis „VLOOKUP“ funkcija „Excel“

Kaip naudoti funkciją „COUNTIF“ programoje „Excel“

Kaip naudotis „SUMIF“ funkcija „Excel“