Microsoft KB Archive/157755

From BetaArchive Wiki
Knowledge Base


Article ID: 157755

Article Last Modified on 10/11/2006



APPLIES TO

  • Microsoft Excel 97 Standard Edition



This article was previously published under Q157755


SYMPTOMS

In Microsoft Excel 97, when you run a Visual Basic for Applications macro, you may receive the following error message:

Compile error:
Invalid Qualifier

CAUSE

This behavior occurs when the following conditions are both true:

  • You have controls in a custom dialog box named, without quotation marks, "Checked", "Gray", or "Unchecked".

    -and-
  • In your macro, you enclose the name of one of the controls in brackets when referring to it. For example:

          [Checked].Value = xlOn

NOTE: This behavior does not apply to controls named "Grey".

This behavior is by design of Microsoft Excel.

WORKAROUND

You can avoid this problem by performing either of the following:

  • Rename your controls so that none of them are named "Checked", "Gray", or "Unchecked". If you do this, you will also need to modify your Visual Basic macro code so that it refers to controls by their new names.

    -or-
  • Within your macros, replace all occurrences of "[<controlname>]" with a proper reference to the specified control. For example, if your macro contains the following line of code:

          [Unchecked].Value = xlOff
                            

    and "Unchecked" is the name of a check box within your custom dialog box, change the line to read:

          ActiveDialog.Checkboxes("Unchecked").Value = xlOff
                            

    If you do this throughout your macro code, you can still use controls named "Checked", "Gray", and "Unchecked".


MORE INFORMATION

In earlier versions of Microsoft Excel, the words "Checked", "Gray", and "Unchecked" have no special meaning. However, in Microsoft Excel 97, these three words are global constants belonging to the Stdole Type Library.

Because of this, it is not possible to refer to these constants by enclosing them in brackets when running a macro in Microsoft Excel 97. Use either of the workarounds shown above to eliminate this problem.


Additional query words: XL97 8.00

Keywords: kbdtacode kberrmsg kbprogramming KB157755