Find celler med fejl

At få en makro til at finde fejl, altså celler med fejlkoder så som fx #VÆRDI!, #NUM! eller #I/T" osv. er ganske nemt, hvis man altså ved, hvordan det skal gøres. Det er her vigtigt at huske, at de meddelelser, der står i cellerne IKKE er tekst, og de kan derfor ikke bare "søges" som tekststrenge. Derimod har alle fejlkoderne en bagved liggende kode. De 7 fejlmeddelelser har følgende koder:

Kode Fejlnummer Fejlmeddelelse i cellen
xlErrDiv0 2007 #DIVISION/0!
xlErrNa 2042 #I/T
xlErrName 2029 #NAVN?
xlerrNull 2000 #NULL!
xlErrNum 2036 #NUM!
xlErrRef 2023 #REFERENCE!
xlErrValue 2015 #VÆRDI!

Disse koder kan både bruges til at "sætte fejl" i forbindelse med brugeredefinerede funktioner, men de kan ogs¨å bruges til atg søge efter fejl. Selve koden sættes/findes med funktionen CVErr. Nedenstående kode undersøger om der i noget ark i mappen findes en #REFERENCE! fejl. Er det tilfældet stopper koden ved den fundne, som så kan rettes. Er der ikke nogen referencefejl vises en meddelelsesboks. Koden kan nemt ændres til at håndtere andre fejltyper eller udbygges, så den håndterer samtlige fejltyper.

Sub FindRefFejl()
    For s = 1 To ActiveWorkbook.Sheets.Count
        For Each c In Sheets(s).UsedRange.Cells
            If IsError(c.Value) Then
                errval = c.Value
                If errval = CVErr(xlErrRef) Then
                    Sheets(s).Activate
                    c.Activate
                    MsgBox "Referencefejl fundet i " & s & ". ark."
                    Exit Sub
                End If
            End If
        Next c
    Next s
    Debug.Print s
    If s = Sheets.Count + 1 Then
        MsgBox "Der er ikke flere referencefejl"
    End If
End Sub

- Tilbage til makroer -
- Tilbage til Excel -