IsError Function

Named Arguments

No

Syntax

IsError(expression)

expression

Use: Required

Data Type: Variant

Variable to be evaluated to determine if its subtype is vbError.

Return Value

Boolean (True or False).

Description

Determines whether expression is a valid error value.

Rules at a Glance

  • Use IsError only with variants. (Strongly typed variables can also be passed to IsError, but that's pointless; only variants have a vbError subtype and therefore have a chance of returning True.)

  • If the variant passed to IsError represents a valid error number, True is returned; otherwise, IsError returns False.

Example

In this example, the SquarePositive function squares the values of only positive integers; if an integer isn't positive, the function returns a variant of subtype vbError:

Private Function SquarePositive(lngVal As Long) As Variant

If lngVal > 0 Then
   SquarePositive = lngVal ^ 2
Else
   SquarePositive = CVErr(0)
End If

End Function

Private Sub cmdSquare_Click()

Dim varRetVal As Variant

If IsNumeric(txtNumber.Text) Then
   varRetVal = SquarePositive(CLng(txtNumber.Text))
   If IsError(varRetVal) Then
      MsgBox "Error: Enter a positive number!"
   Else
      txtNumber.Text = varRetVal
   End If
Else
   txtNumber.Text = ""
End If

End Sub

Programming Tips and Gotchas

  • You can create an error value by converting a real number using the CVErr function.

  • IsError evaluates the value returned by a function to determine whether the function executed without error, as the previous example shows.

See Also

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.