Skip to Content
VB & VBA in a Nutshell: The Language
book

VB & VBA in a Nutshell: The Language

by Paul Lomax
October 1998
Intermediate to advanced
656 pages
16h 10m
English
O'Reilly Media, Inc.
Content preview from VB & VBA in a Nutshell: The Language
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

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Visual Basic Design Patterns: VB 6.0 and VB.NET

Visual Basic Design Patterns: VB 6.0 and VB.NET

James W. Cooper
Programming Excel with VBA and .NET

Programming Excel with VBA and .NET

Jeff Webb, Steve Saunders

Publisher Resources

ISBN: 1565923588Catalog PageErrata