Obravnavanje napak v Excelu VBA - enostavni makri programa Excel

Kazalo

Spodaj si bomo ogledali dva programa v Excel VBA. Enostavno en program ignorira napake. Drugi program nadaljuje izvajanje v določeni vrstici ob pritisku na napako.

Situacija:

Oba programa izračunata kvadratni koren števil.

Kvadratni koren 1

V ukazni gumb 'Square Root 1' dodajte naslednje vrstice kod.

1. Najprej razglasimo dva predmeta Range. Objekte Range imenujemo rng in cell.

Dim rng As Range, celica As Range

2. Inicializiramo objekt Range rng z izbranim obsegom.

Nastavi rng = Izbor

3. Želimo izračunati kvadratni koren vsake celice v naključno izbranem območju (to območje je lahko poljubne velikosti). V Excelu VBA lahko za to uporabite zanko Za vsak naslednji. Dodajte naslednje kodne vrstice:

Za vsako celico V rng
Naslednja celica

Opomba: rng in celica sta tukaj naključno izbrana, lahko uporabite poljubno ime. Ne pozabite se sklicevati na ta imena v preostali kodi.

4. V zanko dodajte naslednjo kodno vrstico.

On Napaka Nadaljuj Naprej

5. Nato izračunamo kvadratni koren vrednosti. V Excelu VBA lahko za to uporabimo funkcijo Sqr. V zanko dodajte naslednjo kodno vrstico.

cell.Value = Sqr (cell.Value)

6. Zaprite urejevalnik Visual Basic in preizkusite program.

Rezultat:

Zaključek: Excel VBA je prezrl celice, ki vsebujejo neveljavne vrednosti, kot so negativne številke in besedilo. Brez uporabe stavka 'On Error Resume Next' bi dobili dve napaki. Bodite previdni, če uporabite stavek 'On Error Resume Next', ko ste prepričani, da je prezrte napake v redu.

Kvadratni koren 2

V ukazni gumb 'Square Root 2' dodajte naslednje vrstice kod.

1. Isti program kot Square Root 1, vendar zamenjajte 'On Error Resume Next' z:

Pri napaki Pojdi na InvalidValue:

Opomba: InvalidValue je tukaj naključno izbran, lahko uporabite poljubno ime. Ne pozabite se sklicevati na to ime v preostali kodi.

2. Zunaj zanke Za vsako naslednjo najprej dodajte naslednjo kodno vrstico:

Zapri pod

Brez te vrstice bo preostala koda (koda napake) izvedena, tudi če ni napake!

3. Excel VBA nadaljuje izvajanje v vrstici, ki se začne z 'InvalidValue:', ko pritisnete na napako (ne pozabite na dvopičje). Dodajte naslednjo kodno vrstico:

Neveljavna vrednost:

4. Kodo napake zaenkrat hranimo preprosto. Prikažemo MsgBox z nekaj besedilom in naslovom celice, kjer je prišlo do napake.

MsgBox "ne more izračunati kvadratnega korena v celici" & cell.Address

5. Dodajte naslednjo vrstico, da naročite Excelu VBA, naj po izvedbi kode napake nadaljuje izvajanje.

Nadaljuj naprej

6. Zaprite urejevalnik Visual Basic in preizkusite program.

Rezultat:

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave