Article ID: 832293 - Last Review: November 10, 2006 - Revision: 2.2

The .SpecialCells(xlCellTypeBlanks) VBA function does not work as expected in Excel

Expand all | Collapse all

SYMPTOMS

When you create a Microsoft Visual Basic for Applications (VBA) macro that selects multiple non-contiguous ranges in a Microsoft Excel workbook that uses a VBA expression that is similar to the following, actions that were only supposed to occur with non-contiguous cells occur to every cell in the original selection on the worksheet:
expression.SpecialCells(XlCellType).expression XlCellType
can be any one of the following:
  • xlCellTypeAllFormatConditions
  • xlCellTypeAllValidation
  • xlCellTypeBlanks
  • xlCellTypeComments
  • xlCellTypeConstants
  • xlCellTypeFormulas
  • xlCellTypeSameFormatConditions
  • xlCellTypeSameValidation
  • xlCellTypeVisible

CAUSE

This behavior occurs if you select more than 8,192 non-contiguous cells with your macro. Excel only supports a maximum of 8,192 non-contiguous cells through VBA macros.

Typically, if you try to manually select more than 8,192 non-contiguous cells, you receive the following error message:
The selection is too large.
However, when you use a VBA macro to make the same or a similar selection, no error message is raised and no error code is generated that can be captured through an error handler.

WORKAROUND

To work around this behavior, you may want to create a looping structure in your VBA macro that handles less than the maximum 8,192 cells.

STATUS

This behavior is by design.

APPLIES TO
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
Keywords: 
kbvba kbfunctions kbformat kbmacro kbcodesnippet kbcode kbprb KB832293
 

Article Translations

 

Related Support Centers