/ / Excel VBA Err -objekti

Excel VBA Err -objekti

Jos et tunne virheenkäsittelyä vielä, suosittelemme sinua lukemaan tämän esimerkin ensin. Kun virhe on Excel VBA tapahtuu, ominaisuuksia Err-objekti on täynnä tietoja.

Tilanne:

Alla oleva ohjelma laskee numeroiden neliöjuuren.

Err Object Excel VBA: ssa

1. Aseta komentopainike laskentatauluun ja lisää seuraavat koodilinjat:

Dim rng As Range, cell As Range
Set rng = Selection

For Each cell In rng
    On Error GoTo InvalidValue:
    cell.Value = Sqr(cell.Value)
Next cell

Exit Sub

InvalidValue:

MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address

Resume Next

Tulos, kun valitset Alue ("B2: B6") ja napsauta arkki komentopainiketta:

Err Object Tulos

Err Object Tulos

Selitys: kun virhe ilmenee, Err-objektin numero-ominaisuus täytetään nykyisen virheen ainutkertaisella virhearvolla ja Description-ominaisuus täytetään nykyisen virheen virhekuvauksella.

2. Nämä kuvaukset eivät välttämättä ole kovin hyödyllisiä ohjelman käyttäjille. Voit tehdä virheilmoituksia käyttäjäystävällisemmiksi muokkaamalla makron viimeistä osaa seuraavasti:

InvalidValue:

Select Case Err.Number
    Case Is = 5
        MsgBox "Can"t calculate square root of negative number at cell " & cell.Address
    Case Is = 13
        MsgBox "Can"t calculate square root of text at cell " & cell.Address
End Select

Resume Next

Vihje: Tutustu valitsemallasi Case-ohjelmaan, jos haluat lisätietoja valitsemallasi case-rakenteesta.

Tulos:

Ystävällinen viesti

Ystävällinen viesti

Lue myös: