XL2000: The Show Method Fails to Pass Arguments (213725)



The information in this article applies to:

  • Microsoft Excel 2000

This article was previously published under Q213725

SYMPTOMS

If you use the Show method with one of the built-in Microsoft Excel dialog boxes, you may receive the following error message:
Run-time error '1004':
Show method of Dialog class failed.

CAUSE

This problem may occur when both of the following conditions are true:
  • The constant you use for the built-in dialog box is new to Microsoft Excel 2000.

    -and-
  • You attempt to pass an argument to the dialog box by using the Show method.

WORKAROUND

To work around this problem, do not pass any arguments when you are using a constant that is new to Microsoft Excel 2000 and you are using the Show method.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site: For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

Sample Visual Basic Code

The following sample code uses the xlDialogDataValidation constant (which is new to Microsoft Excel 2000) to display the Data Validation dialog box:
Sub Test()
   Application.Dialogs(xlDialogDataValidation).Show
End Sub
				
Note that if you use this constant in the following sample code, you receive the error message referenced in the "Symptoms" section:
Sub Test2()
   Application.Dialogs(xlDialogDataValidation).Show 1
End Sub
				
The "1" that follows the Show method implies you wanted to select the first item in the Allow list, which is Whole number.

The following lines of code do not generate an error message because the constant is not new to Microsoft Excel 2000:
Sub Test3()
   Application.Dialogs(xlDialogFormulaReplace).Show ,,,2
End Sub
				
When you run the Test3 macro, the Replace dialog box is displayed, and By Columns (the second item in the list) appears in the Search list.

REFERENCES

To find more information about built-in constants in Microsoft Excel 2000, follow these steps:
  1. In the Visual Basic Editor, press F2 to display the Object Browser.
  2. In the Project/Library list, click Excel.
  3. Type xldialog in the Search Text box (below the Project/Library list), and then press ENTER.
The list of built-in dialogs is displayed in the Search Results pane.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbdtacode kberrmsg kbprb kbProgramming KB213725