Hoe de iserror-functie in vba te gebruiken (met voorbeeld)


U kunt de functie IsError in VBA gebruiken om te controleren of een bepaalde cel een foutwaarde bevat en dienovereenkomstig TRUE of FALSE retourneren.

Hier is een gebruikelijke manier om deze functie in de praktijk te gebruiken:

 SubCheckIsError ()

Dim i As Integer
    
For i = 2 To 11
    Range("B" & i).Value = WorksheetFunction.IsError(Range("A" & i))
Next i

End Sub

Deze specifieke macro controleert of elke cel in het bereik A2:A11 een foutwaarde is en retourneert TRUE of FALSE in de overeenkomstige cel in het bereik B2:B11 .

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: hoe u de IsError-functie in VBA gebruikt

Stel dat we de volgende kolom met waarden in Excel hebben:

Stel dat we willen controleren of elke waarde in kolom A een foutwaarde is of niet.

We kunnen hiervoor de volgende macro maken:

 SubCheckIsError ()

Dim i As Integer
    
For i = 2 To 11
    Range("B" & i).Value = WorksheetFunction.IsError(Range("A" & i))
Next i

End Sub

Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Waarden in kolom B geven WAAR of ONWAAR weer om aan te geven of de overeenkomstige waarden in kolom A al dan niet foutwaarden zijn.

Merk op dat de volgende waarden allemaal WAAR retourneren in kolom B:

  • #DIV/0!
  • #WAARDE!
  • #NUM!

Alle andere waarden retourneren FALSE omdat het geen foutwaarden zijn.

Houd er ook rekening mee dat lege cel A10 niet WAAR retourneert, omdat het geen foutwaarde is; het is gewoon leeg.

Opmerking : u kunt hier de volledige documentatie voor de VBA IsError- functie vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: IF OR gebruiken om meerdere voorwaarden te testen
VBA: IF AND gebruiken om meerdere voorwaarden te testen
VBA: IF NOT gebruiken om te testen of niet aan de voorwaarde is voldaan

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert