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: