Okamžité okno programu Excel VBA - 5 úžasných spôsobov, ako ho používať!

„Okamžité okno“ môže byť užitočným nástrojom, ktorý môžete použiť pri práci s VBA v programe Excel.

Okno Okamžité vám umožňuje rýchlo vykonávať napríklad tieto akcie:

  • Získajte informácie o súboroch programu Excel (napríklad počet listov v zošite alebo názov zošita)
  • Získajte informácie o Debug.Print rýchlo
  • Spustite riadok kódu v priebehu niekoľkých sekúnd
  • Spustite makro (alebo zavolajte funkciu)
  • Získajte informácie o premenných (alebo nastavte hodnotu alebo premenné)

Aj keď na prácu s VBA v Exceli nepotrebujete použiť okamžité okno, znalosť jeho dobrého použitia vás môže výrazne zefektívniť.

V tomto návode sa budem zaoberať všetkým, čo potrebujete vedieť o bezprostrednom okne a o tom, ako ho najlepšie využiť (vysvetlené s príkladmi).

Začnime!

Čo je okamžité okno v programe Excel VBA?

Okamžité okno je súčasťou editora VB, ktorý môžete použiť na rýchle akcie.

Ako príklad uvádzame, ak máte zošit s niektorými skrytými pracovnými listami a chcete rýchlo poznať celkový počet pracovných hárkov, v okne Okamžité to môžete urobiť za niekoľko sekúnd.

Okamžité okno dokáže oveľa viac (ako uvidíte neskôr v tomto návode). Ale na začiatok si predstavme okamžité okno ako nástroj, ktorý vám pomôže urýchliť prácu v programe Excel VBA.

Kde nájsť okamžité okno?

Keď otvoríte Excel VB-Editor, bezprostredné okno sa vám už môže zobraziť ako súčasť editora VB. A ak to ešte nevidíte, môžete to ľahko predviesť.

Nasledujú kroky na otvorenie editora VB a zobrazenie viditeľného okna:

  1. Na páse s nástrojmi Excelu kliknite na kartu „Vývojár“ (ak sa karta pre vývojárov nezobrazuje, kliknutím sem sa dozviete, ako ju získať).
  2. V skupine kódov kliknite na položku „Visual Basic“. Tým sa otvorí editor VB
  3. V editore VB kliknite v ponuke na možnosť „Zobraziť“
  4. Kliknite na okamžité okno. Okamžité okno sa tak zobrazí v editore VB.

Ak vám viac vyhovujú skratky, nižšie uvedené kroky urýchlite:

  • Ak chcete otvoriť editor VB - ALT + F11 (funguje to, aj keď na páse s nástrojmi nemáte kartu Vývojár)
  • Ak chcete zobraziť bezprostredné okno - Ovládanie + G (použite tento, editor VB je otvorený)

Príklady použitia okamžitého okna v programe Excel VBA

Teraz, keď viete, kde nájsť okamžité okno, pozrime sa na niekoľko úžasných príkladov, kde ho môžete použiť pri práci s programom Excel VBA.

Získajte informácie o súboroch/zošitoch

„Okamžité okno“ je miesto, kde môžete klásť otázky týkajúce sa pracovných zošitov, a hneď vám dá odpoveď.

Predpokladajme napríklad, že máte zošit a chcete vedieť, koľko listov je v zošite, môžete do nižšie uvedeného okna napísať nižšie uvedený kód a stlačiť kláves Enter.

ActiveWorkbook.Sheets.Count

To vám okamžite povie celkový počet listov v aktívnom zošite.

To môže byť užitočné, keď máte zošit, ktorý má veľa hárkov a nemôžete ho počítať ručne (alebo nechcete), alebo keď máte zošit, kde sú skryté listy a chcete vedieť celkový súčet počítať.

The? (otáznik) sa má použiť pred dotazom, aby VBA porozumel, že sa pýtate. Ak tento otáznik nepoužijete, okamžité okno vám neposkytne podrobnosti/odpoveď.

Teraz je to skutočne jednoduchý príklad, kde vám okamžité okno poskytne niekoľko informácií a ušetrí čas.

Nasleduje niekoľko ďalších príkladov:

Získať názov aktívneho zošita

ActiveWorkbook.Name

Získať názov aktívneho hárka

? Aktívny list. Meno

Ak chcete zistiť cestu zošita (adresu, kde je uložený)

? ActiveWorkbook.Path

Ak teda potrebujete niečo o objekte (napríklad zošit, hárky, grafy, tvary, rozsah atď.), Na rýchle získanie týchto informácií môžete použiť okamžité okno.

Získať informácie o Debug.Print

V programe Excel VBA sa Debug.Print používa na okamžité zobrazenie hodnoty premennej v bezprostrednom okne.

Nasledujúci kód napríklad v bezprostrednom okne okamžite zobrazí správu „Dobré ráno“.

Sub DisplayMessage () Debug.Print "Good Morning" End Sub

Riadok Debug.Print v kóde môžete použiť na rýchle získanie niektorých údajov v bezprostrednom okne alebo na ladenie kódu.

Ak napríklad chcete získať názvy všetkých hárkov do zošita, môžete použiť nasledujúci kód:

Sub GetSheetNames () pre každý sh v ActiveWorkbook. Tabuľky Debug. Vytlač sh.Name Ďalej sh End Sub

Vyššie uvedený kód prechádza každým hárkom v aktívnom zošite a v bezprostrednom okne dáva názov.

Debug.Print je užitočná technika na ladenie kódu. Ak napríklad spustíte slučku a chcete vidieť, koľkokrát bola slučka spustená, môžete jednoducho umiestniť riadok Debug.Print, ktorý pri každom cykle jednoducho zobrazí prírastkové čísla.

Ak používate Debug.Print pri ladení kódu ho nezabudnite odstrániť, keď budete hotoví.

Spustenie makra (alebo funkcie)

Aj keď existujú rôzne spôsoby spustenia makra v programe Excel, jedným z rýchlych spôsobov je použitie okna bezprostredne.

Na spustenie makra stačí zadať názov makra v bezprostrednom okne a stlačiť kláves Enter (kurzor by mal byť na konci názvu makra, aby to fungovalo).

Nasleduje príklad, kde akonáhle zadáte názov makra do bezprostredného okna, spustí sa kód (kde kód v bezprostrednom okne zobrazí správu „Dobré ráno“).

To môže byť užitočné, ak máte kód a chcete skontrolovať, či funguje podľa očakávania alebo nie. V kóde môžete mať jeden alebo viac riadkov Debug.Print a spustiť makro z bezprostredného okna.

Okamžite vám ukáže hodnoty v bezprostrednom okne a môžete skontrolovať, či všetko funguje správne alebo nie.

Na spustenie vlastných funkcií môžete použiť aj bezprostredné okno.

V nižšie uvedenom príklade je napríklad vytvorená funkcia na kontrolu, či je číslo párne alebo nepárne. Túto funkciu môžete spustiť z bezprostredného okna zadaním funkcie s požadovaným argumentom. V tomto prípade musíte použiť otáznik, pretože sa ho pýtate, aby ste vrátili hodnotu uloženú vo funkcii.

Vykonajte riadok kódu (alebo viac riadkov kódu)

V bezprostrednom okne môžete tiež spustiť riadok kódu (alebo viac riadkov kódov).

Najlepšie na tom je, že stačí otvoriť bezprostredné okno, spustiť kód a zavrieť (na rozdiel od makra, ktoré musíte vložiť do okna modulu a potom ho spustiť).

Prípad, kde to môže byť užitočné, je prípad, keď chcete rýchlo odkryť všetky listy v zošite.

Nasleduje kód, ktorý môžete vložiť do bezprostredného okna na odkrytie všetkých hárkov v zošite. Umiestnite kurzor na koniec riadka a akonáhle stlačíte kláves Enter, odkryjú sa všetky hárky.

Pre každý list v tomto pracovnom zošite. Tabuľky: Sheet.Visible = True: Next Sheet

Všimnite si toho, že aj keď to vyzerá ako jeden riadok kódu, pozostáva z troch častí.

Každá časť je oddelená znakom: (dvojbodka), ktorý funguje ako zlom riadka. To vám umožní použiť slučku For Next v bezprostrednom okne na prechod cez každý hárok a zmenu viditeľnej vlastnosti na TRUE (čím sa odkryje každý skrytý hárok).

Získajte variabilné hodnoty

Keď začnete vytvárať komplexné kódy VBA, budete sa pri svojej práci musieť spoliehať na premenné.

Premenná je niečo, čo obsahuje hodnotu a ktorá sa môže meniť, keď je kód spustený. Na kontrolu týchto hodnôt premenných môžete použiť okamžité okno.

Nasleduje jednoduchý kód, ktorý dáva súčet prvých 10 kladných celých čísel a výsledok zobrazuje v bezprostrednom okne.

Sub AddFirstTenNumbers () Dim Var ako celé číslo Dim i ako celé číslo Dim k ako celé číslo pre i = 1 až 10 k = k + i Ďalej i Debug.Print i, k End Sub

Hneď ako spustíte tento kód, v bezprostrednom okne sa zobrazí nasledujúci výsledok. To vám okamžite povie, že kód funguje dobre a dáva očakávaný výsledok.

V prípade, že to neposkytuje očakávané výsledky, môžete kód ladiť.

Mnoho ľudí používa pri ladení kódu pole so správou. Aj keď to funguje dobre, zdá sa mi to trochu rušivé, pretože ma to zavedie do zošita programu Excel a zobrazí sa pole so správou. Na druhej strane použitie okamžitého okna na ladenie je oveľa plynulejšie a udržuje ma v samotnom editore jazyka Visual Basic.

Poznámka: Ak pracujete so zložitým kódom a máte viacero premenných, ktoré musíte sledovať, je lepšie použiť okno Watch. Okno hodiniek vám umožňuje pridať premennú a potom môžete vidieť, ako sa táto premenná mení v reálnom čase (alebo pri prechode kódom).

Nastaviť hodnotu premennej pri ladení

Toto je trochu pokročilé použitie okna Okamžité, ale ak ho použijete, môže vám pri ladení kódu výrazne ušetriť čas.

Okno bezprostredne môžete použiť na nastavenie hodnoty premennej, keď spustíte kód v režime ladenia (kde nastavíte bod prerušenia, aby sa kód nespracoval úplne - ale až na konkrétny riadok).

Ak máte napríklad 10 -krát zacyklenú slučku a chcete zistiť, čo sa stane, keď sa slučka spustí po ôsmykrát, nemusíte sa do siedmej iterácie prechádzať sedemkrát. Môžete jednoducho pridať zarážku pred slučku a zmeniť premennú slučky na 8. Teraz, keď spustíte kód, ukáže vám, čo sa stane, keď sa slučky spustia po ôsmykrát.

To sa stáva oveľa užitočnejším, keď píšete komplexné kódy a chcete ladiť konkrétne slučky.

Predpokladajme, že máte kód, ako je uvedené nižšie:

Sub UnhideSheets () for i = 1 to worksheets.Count Debug.Print Sheets (i) .Name Next i End Sub

Vyššie uvedený kód jednoducho uvádza názvy hárkov všetkých hárkov v zošite v bezprostrednom okne.

Ak nechcete uvádzať názvy všetkých hárkov, ale iba hárkov po 10. hárku, môžete do druhého riadka slučky umiestniť zarážku (aby sa nič po tomto riadku nevykonalo) a potom zmeniť premenná „i“ až 11.

Ak chcete zmeniť názov premennej v bezprostrednom okne, zadajte nasledujúci riadok:

i = 11

Tým sa zabezpečí, že prvých 10 krát cyklu sa bude ignorovať a hodnota premennej je nastavená na 11.

Ukotvenie/odpojenie okamžitého okna

Okamžité okno môžete nechať ukotviť k editoru VB - to znamená, že zostane na jednom mieste v editore VB a pohybuje sa s ním.

Môžete ho tiež odpojiť od doku, čo znamená, že je nezávislý na editore VB a je možné ho presúvať ako samostatné okno.

Nasleduje postup, ako môžete zmeniť nastavenia dokovania pre bezprostredné okno:

  1. V ponuke editora VB kliknite na možnosť Nástroje
  2. Kliknite na „Možnosti“
  3. V dialógovom okne Možnosti kliknite na poslednú kartu - Dokovanie
  4. Začiarknutím možnosti Okamžité okno ho urobíte dokovateľným a jeho začiarknutím zrušíte jeho ukotvenie.
  5. Kliknite na tlačidlo OK

Alternatívne, ak je viditeľné bezprostredné okno, môžete tiež kliknúť pravým tlačidlom myši a zmeniť jeho dokovaciu vlastnosť.

Dokovateľné znamená, že bezprostredné okno by sa stalo súčasťou existujúceho okna umiestnením na určité miesta, napríklad naľavo od okna alebo v spodnej časti. To umožňuje dokovaným oknám pohybovať sa a meniť veľkosť spoločne.

Okamžité okno sa nezobrazuje - tu je niekoľko spôsobov, ako ho získať

Dôvodov, prečo sa to deje, môže byť viacero.

Najčastejším dôvodom, prečo nevidíte bezprostredné okno, je to, že sa nezobrazuje. Štandardne nemusí byť viditeľný a aby sa zobrazoval, musíte v ponuke prejsť na možnosť Zobraziť a kliknúť na možnosť Okamžité okno. Zaistíte tak, že bude viditeľný v editore VB.

Na zobrazenie bezprostredného okna môžete použiť aj klávesovú skratku Control + G. Túto klávesovú skratku použite, keď ste v editore VB.

Ďalším dôvodom, prečo sa vám bezprostredné okno nezobrazuje, je to, že bolo minimalizované, je teraz také zatvorené, že ho nevidíte (ako je tu uvedené). Jednoducho urobte rýchle skenovanie a skontrolujte, či niekde nevidíte malý modro/červený štvorec. Môžete naň umiestniť kurzor a zobrazí sa vám možnosť zmeniť jeho veľkosť.

Ak vôbec nevidíte okamžité okno, je tu niečo, čo fungovalo pre mnoho ľudí (často sa to stáva kvôli zmenám rozlíšenia obrazovky):

  1. Otvorte editor VB
  2. Stlačením Ctrl-G zvýraznite okamžité okno (alebo kliknite na možnosť Zobraziť v ponuke a potom kliknite na bezprostredné okno)
  3. Podržte kláves ALT a potom stlačte kláves medzerníka. Zobrazí sa rozbaľovacie možnosti pre bezprostredné okno.
  4. Stlačte M (pre presun)
  5. Na pohyb v okne použite klávesy so šípkami
  6. Akonáhle prídete na to, kde to je, zväčšite to

Dostal som to z fóra tu a tiež som si všimol to isté, čo bolo navrhnuté ako riešenie pre okamžité okno VBA, ktoré sa nezobrazuje.

Ďalšou vecou, ​​ktorú môžete vyskúšať, je zrušenie dokovania bezprostredného okna (prejdite na Nástroje -> Možnosti -> Ukotvenie a zrušte začiarknutie možnosti okamžitého okna). U niektorých ľudí to fungovalo.

Tiež by sa vám mohli páčiť nasledujúce články:

  • Osobný zošit makra Excel | Uložte a používajte makrá vo všetkých zošitoch
  • Slučky Excel VBA: Ďalej, Do, Kým, Do, pre každú (s príkladmi)
  • Práca s pracovnými listami pomocou programu Excel VBA
  • Vytvorenie funkcie definovanej používateľom (UDF) v programe Excel VBA

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave