Kokia programa. Ekrano atnaujinimas = klaidingos priemonės ir kodėl ji naudojama VBA

Anonim

Gerai! Šis svarbus.

Bet kuri gera VBA procedūra visada nurodo šią eilutę pradžioje.

Application.Screenupdating = FALSE 

Ir prieš procedūros pabaigą taip pat pamatysite šią eilutę.

Application.Screenupdating = TRUE 

Kas yra „ScreenUpdating“?
Ekrano atnaujinimas yra taikomųjų objektų nuosavybė VBA. Jis gali būti nustatytas į TRUE arba FALSE. Tai tarsi jungiklis, kurį galima įjungti arba išjungti.

Ir ką tai daro?
Pirmoji eilutė pagreitina makrokomandų apdorojimą, sustabdydama „Excel“ atnaujinimą realiuoju laiku.

Jei turite ilgą makrokomandą, kuri rašo į skirtingus lapus, taiko filtrus, pašalina filtrus, keičia lapus, išsaugo darbaknyges ir tt Ir jei neišjungėte ekrano atnaujinimų naudodami eilutę Programos. Screenupdating = FALSE, pamatysite mirgėjimas ekrane. Kiekvienas pakeitimas, padarytas makrokomandoje darbo knygoje, bus rodomas dinamiškai. Tai sulėtina makro spartą.

Ir jei šią eilutę turite makrokomandos pradžioje, „Excel“ neatspindės makrokomandos atliktų pakeitimų, kol ekrano atnaujinimas nebus įjungtas naudojant eilutę „Application.Screenupdating = TRUE“.

Jei norite pagreitinti makrokomandą, išjunkite ekrano atnaujinimą paprogramės pradžioje ir įjunkite ekrano atnaujinimą iki paprogramės pabaigos.

Štai vienas pavyzdys:

Papildomas ekrano patikrinimas ()  Application.Screenupdating = FALSE 'Išjungiamas ekrano atnaujinimas.  Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "How are you?" Diapazonas ("A3"). Value = "Exceltip yra nuostabi, ar ne?" Lapas2. Aktyvinti Application.Screenupdating = TRUE 'Įjungiamas ekrano atnaujinimas. Pabaiga Sub 

Kai paleisite aukščiau pateiktą antrinį elementą, nematysite jokio ekrano mirgėjimo. Pamatysite galutinį šios makrokomandos atlikto darbo rezultatą.

Svarbios pastabos:

Prieš procedūrą įsitikinkite, kad įjungėte ekrano atnaujinimą. Jei neįjungsite ekrano atnaujinimo, negalėsite matyti makrokomandos atlikto darbo.

Nepavyksta atnaujinti ekrano prieš kiekvieną komandą „Išeiti iš antros dalies“ ir „Baigti antrąją dalį“. Įprasta pamiršti įjungti ekrano atnaujinimus prieš išeinant iš „Sub“. Jei to nepadarysite, jums gali kilti klausimas, kodėl jūsų kodas neveikė. Tačiau realybėje tai pavyko. Jūs tiesiog negalite to pamatyti.

Viskas. Tai daro „Application.Screenupdating = False“ VBA. Ši viena kodo eilutė labai keičiasi. Tai yra skirtumas tarp brandaus programavimo ir neatsargaus programavimo. Jei norite pagreitinti makrokomandą, visada naudokite šią kodo eilutę.

Tikiuosi, kad tai jums buvo naudinga. Jei turite kokių nors abejonių dėl šio straipsnio ar turite kitų su „Excel“/VBA susijusių klausimų, nedvejodami paklauskite žemiau esančiame komentarų skyriuje. Aš mielai padėsiu.

Kuo skiriasi „ByRef“ ir „ByVal“ argumentai? : Tai svarbus VBA klausimas. „ByVal“ ir „ByRef“ naudojami skirtingai argumentams perduoti. Vienas leidžia keisti pradinį kintamąjį, o kitas nekeičia pradinio kintamojo.

Kaip peržiūrėti „Excel“ lapus naudojant VBA : Automatizuodami įprastas nuobodžias „Excel“ užduotis VBA, jums reikės peržiūrėti kiekvieną lapą. Pradėkime nuo pavyzdžio. VBA kodas, kurį reikia perkelti į visus „Activeworkbook“ lapus ir spausdinti lapo pavadinimą

Įvykiai „Excel VBA“: Kartais norime, kad kažkas įvyktų automatiškai, kai įvyktų tam tikras įvykis. Norėdami ką nors padaryti, kai „Excel“ įvyksta konkretus įvykis, naudojame „Excel VBA“ įvykį

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečias vertes, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.