/ / Excel VBA Err Object

Excel VBA Err Object

Hvis du ikke er bekendt med fejlhåndtering endnu, anbefaler vi stærkt dig at læse dette eksempel først. Når en fejl i Excel VBA forekommer, egenskaberne af Err objekt er fyldt med information.

Situation:

Programmet nedenfor beregner kvadratroten af ​​tal.

Err objekt i Excel VBA

1. Placer en kommandoknap på dit regneark og tilføj følgende kodelinjer:

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

Resultat, når du vælger Range ("B2: B6") og klik på kommandoknappen på arket:

Err objektresultat

Err objektresultat

Forklaring: Når en fejl opstår, er Err-objektets talegenskab fyldt med et unikt fejlnummer for den nuværende fejl, og egenskaben Beskrivelse er fyldt med fejlbeskrivelsen for den aktuelle fejl.

2. Disse beskrivelser kan ikke være meget nyttige for brugerne af dit program. Du kan gøre fejlmeddelelserne mere brugervenlige ved at ændre den sidste del af makroen som følger:

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

Tip! Gå gennem vores Select Case-program for at lære mere om Select Case-strukturen.

Resultat:

Venlig besked

Venlig besked

Læs også: