XL2000: Runtime Error 424 Clicking Cancel on InputBox (199211)



The information in this article applies to:

  • Microsoft Excel 2000

This article was previously published under Q199211

SYMPTOMS

When you cancel a dialog box displayed with the InputBox method in Microsoft Visual Basic for Applications, you may receive the following error message:
Runtime Error '424'

Object required

CAUSE

This error message occurs when all of the following conditions are true:
  • You create an object variable.

    -and-
  • You assign the variable using InputBox as in the following example:
       Set myRange = Application.InputBox(Title:="Count Columns", _
       Prompt:="Select range to count number of columns.", Type:=8)
    						

    -and-
  • You click Cancel in the dialog box displayed by InputBox.

RESOLUTION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To successfully trap the value returned by clicking Cancel, you need to add error handling to your code. The following is an example of error handling that you can use with the InputBox method, to prevent the error message described in this article.
  1. Start Excel and create a new workbook.
  2. Press ALT+F11 to open the Visual Basic Editor.
  3. On the Insert menu, click Module and type the following code in the new module:
       Sub CountColumns()
       ' Dimension myRange variable.
       Dim myRange As Object
       ' Begin error trapping.
       On Error GoTo ErrHandler
       ' Store InputBox value into variable myRange.
       Set myRange = Application.InputBox(Title:="Count Columns", _
       Prompt:="Select range to count number of columns.", Type:=8)
       ' Show message box.
       MsgBox myRange.Columns.Count
       ' End macro.
       End
       ' Show message box when Cancel is clicked or other error
       ' is encountered.
       ErrHandler: MsgBox "No columns selected."
       End Sub
    						

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbbug kberrmsg kbpending kbProgramming KB199211