Alla tarkastellaan kahta ohjelmaa Excel VBA . Yksinkertaisesti yksi ohjelma jättää huomiotta virheet . Toinen ohjelma jatkaa suorittamista määrätyllä rivillä virheen osuessa.
Tilanne:
Molemmat ohjelmat laskevat neliöjuuri numeroista.
Neliöjuuri 1
Lisää seuraavat koodirivit 'Square Root 1' -komentopainikkeeseen.
1. Ensin julistamme kaksi Range -objektia. Kutsumme alueen kohteita rng ja solu.
Ei mitäänrngKutenAlue, soluKutenAlue2. Alustamme Range -objektin rng valitulla alueella.
Asetarng = Valinta3. Haluamme laskea jokaisen solun neliöjuuren satunnaisesti valitulla alueella (tämä alue voi olla minkä kokoinen tahansa). Excel VBA: ssa voit käyttää For For Next Next -silmukkaa tähän. Lisää seuraavat koodirivit:
Varten JokainensoluSisäänrngSeuraavasolu
Huomautus: rng ja solu valitaan satunnaisesti, voit käyttää mitä tahansa nimiä. Muista viitata näihin nimiin koodin loppuosassa.
4. Lisää silmukkaan seuraava koodirivi.
Virhe Jatka seuraavaksi5. Seuraavaksi laskemme arvon neliöjuuren. Excel VBA: ssa voimme käyttää tähän Sqr -toimintoa. Lisää silmukkaan seuraava koodirivi.
cell.Value = Sqr (cell.Value)6. Sulje Visual Basic Editor ja testaa ohjelma.
Tulos:
Johtopäätös: Excel VBA on jättänyt huomiotta solut, jotka sisältävät virheellisiä arvoja, kuten negatiivisia numeroita ja tekstiä. Ilman 'On Error Resume Next' -lauseketta saat kaksi virhettä. Ole varovainen käyttäessäsi On Error Resume Next -ilmoitusta vain, kun olet varma, että virheiden huomiotta jättäminen on OK.
Neliöjuuri 2
Lisää seuraavat koodirivit 'Square Root 2' -komentopainikkeeseen.
1. Sama ohjelma kuin Square Root 1, mutta korvaa 'On Error Resume Next' seuraavalla:
Virhe GoToKelpaamaton arvo:Huomautus: InvalidValue on valittu satunnaisesti, voit käyttää mitä tahansa nimeä. Muista viitata tähän nimeen koodin loppuosassa.
2. Lisää jokaisen seuraavan silmukan ulkopuolelle ensin seuraava koodirivi:
Lopeta SubIlman tätä riviä loput koodista (virhekoodi) suoritetaan, vaikka virheitä ei olisi!
3. Excel VBA jatkaa suorittamista rivillä, joka alkaa InvalidValue: -kohdasta virheen osuessa (älä unohda kaksoispistettä). Lisää seuraava koodirivi:
Kelpaamaton arvo:4. Pidämme virhekoodimme yksinkertaisena toistaiseksi. Näytämme MsgBoxin, jossa on tekstiä ja sen solun osoite, jossa virhe tapahtui.
MsgBox 'ei voi laskea neliöjuuria solussa' ja solussa.Osoite5. Ohjaa Excel VBA: ta jatkamaan suorittamista virhekoodin suorittamisen jälkeen lisäämällä seuraava rivi.
Jatkaa Seuraava6. Sulje Visual Basic Editor ja testaa ohjelma.
Tulos:
laskea tuntien välillä kaksi kertaa excel
Siirry seuraavaan lukuun: Jono manipulointi