Rukovanje pogreškama u programu Excel VBA - Jednostavne makronaredbe programa Excel

Sadržaj

U nastavku ćemo pogledati dva programa u Excel VBA. Jednostavno jedan program zanemaruje greške. Drugi program nastavlja izvršavanje na navedenom retku kada dođe do greške.

Situacija:

Oba programa izračunavaju kvadratni korijen brojeva.

Kvadratni korijen 1

Dodajte sljedeće retke koda naredbenom gumbu 'Square Root 1'.

1. Prvo, deklariramo dva Range objekta. Objekte Range nazivamo rng i cell.

Dim rng As Range, cell As Range

2. Pokrećemo objekt Range rng s odabranim rasponom.

Postavite rng = Odabir

3. Želimo izračunati kvadratni korijen svake ćelije u nasumično odabranom rasponu (ovaj raspon može biti bilo koje veličine). U Excelu VBA za to možete koristiti petlju Za svaku sljedeću. Dodajte sljedeće retke koda:

Za svaku ćeliju U rng
Sljedeća ćelija

Napomena: ovdje su nasumično odabrani rng i ćelija, možete koristiti bilo koja imena. Ne zaboravite se pozivati ​​na ta imena u ostatku koda.

4. Dodajte sljedeću liniju koda u petlju.

Uključeno Slijedi nastavak greške

5. Zatim izračunavamo kvadratni korijen vrijednosti. U Excelu VBA za to možemo koristiti funkciju Sqr. U petlju dodajte sljedeći kodni redak.

cell.Value = Sqr (cell.Value)

6. Izađite iz uređivača Visual Basic i testirajte program.

Proizlaziti:

Zaključak: Excel VBA zanemario je ćelije koje sadrže nevažeće vrijednosti poput negativnih brojeva i teksta. Bez korištenja izraza 'On Error Resume Next' dobili biste dvije pogreške. Budite sigurni da koristite izraz 'On Error Resume Next' ako ste sigurni da je zanemarivanje pogrešaka u redu.

Kvadratni korijen 2

Dodajte sljedeće retke koda naredbenom gumbu 'Square Root 2'.

1. Isti program kao Square Root 1, ali zamijenite 'On Error Resume Next' s:

O grešci Idi na InvalidValue:

Napomena: InvalidValue ovdje je nasumično odabran, možete koristiti bilo koji naziv. Ne zaboravite se pozivati ​​na ovo ime u ostatku koda.

2. Izvan petlje Za svaku sljedeću, najprije dodajte sljedeći kodni redak:

Izlaz iz podv

Bez ovog retka, ostatak koda (kôd pogreške) će se izvršiti, čak i ako nema greške!

3. Excel VBA nastavlja izvršavanje u retku koji počinje s 'InvalidValue:' nakon što dođe do pogreške (ne zaboravite dvotočku). Dodajte sljedeći kodni redak:

Nevažeća vrijednost:

4. Naš kôd pogreške zasad držimo jednostavnim. Prikazujemo MsgBox s nekim tekstom i adresom ćelije u kojoj je došlo do pogreške.

MsgBox "ne može izračunati kvadratni korijen u ćeliji" & cell.Address

5. Dodajte sljedeći redak kako biste Excel VBA dobili upute za nastavak izvođenja nakon izvršavanja koda pogreške.

Nastavi dalje

6. Izađite iz uređivača Visual Basic i testirajte program.

Proizlaziti:

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave