Riešenie chýb v programe Excel VBA - ľahké makrá programu Excel

Obsah

Ďalej sa pozrieme na dva programy v Excel VBA. Jeden program jednoducho ignoruje chyby. Druhý program pokračuje vo vykonávaní na určenom riadku pri chybe chyby.

Situácia:

Oba programy vypočítajú druhú odmocninu z čísel.

Square Root 1

Do príkazového tlačidla „Square Root 1“ pridajte nasledujúce riadky kódu.

1. Najprv deklarujeme dva objekty Range. Objekty Range nazývame rng a bunka.

Dim rng As Range, cell As Range

2. Inicializujeme objekt Rozsah rng s vybratým rozsahom.

Nastaviť rng = výber

3. Chceme vypočítať odmocninu každej bunky v náhodne vybranom rozsahu (tento rozsah môže mať ľubovoľnú veľkosť). V programe Excel VBA na to môžete použiť slučku For Every Next. Pridajte nasledujúce riadky kódu:

Pre každú bunku V rng
Ďalšia bunka

Poznámka: rng a bunka sa vyberajú náhodne, môžete použiť akékoľvek názvy. Na tieto názvy sa vo zvyšku kódu odvolávajte.

4. Do slučky pridajte nasledujúci riadok kódu.

Pri chybe Pokračovať ďalej

5. Ďalej vypočítame druhú odmocninu hodnoty. V programe Excel VBA na to môžeme použiť funkciu Sqr. Do slučky pridajte nasledujúci riadok kódu.

cell.Value = Sqr (cell.Value)

6. Ukončite editor jazyka Visual Basic a vyskúšajte program.

Výsledok:

Záver: Excel VBA ignoroval bunky obsahujúce neplatné hodnoty, ako sú záporné čísla a text. Bez použitia príkazu „On Error Resume Next“ by ste získali dve chyby. Dávajte pozor, aby ste výraz „On Error Resume Next“ používali iba vtedy, ak ste si istí, že ignorovanie chýb je v poriadku.

Square Root 2

Do príkazového tlačidla „Square Root 2“ pridajte nasledujúce riadky kódu.

1. Ten istý program ako Square Root 1, ale nahraďte „On Error Resume Next“ týmto:

Pri chybe GoTo InvalidValue:

Poznámka: InvalidValue je tu vybraný náhodne, môžete použiť akékoľvek meno. Na tento názov sa vo zvyšku kódu odvolávajte.

2. Mimo slučky For Every Next najskôr pridajte nasledujúci riadok kódu:

Ukončiť sub

Bez tohto riadku sa vykoná zvyšok kódu (chybový kód), aj keď nie je žiadna chyba!

3. Excel VBA pokračuje v spustení na riadku začínajúcom „InvalidValue:“ po kliknutí na chybu (nezabudnite na dvojbodku). Pridajte nasledujúci riadok kódu:

Nesprávna hodnota:

4. Náš kód chyby zatiaľ ponechávame jednoduchý. Zobrazujeme MsgBox s nejakým textom a adresou bunky, kde sa vyskytla chyba.

MsgBox „nemôže vypočítať druhú odmocninu v bunke“ a bunke. Adresa

5. Pridajte nasledujúci riadok a dajte pokynu programu Excel VBA, aby obnovil spustenie po spustení kódu chyby.

Pokračovať ďalej

6. Ukončite program Visual Basic Editor a vyskúšajte program.

Výsledok:

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

wave wave wave wave wave