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

Article translations Article translations
Article ID: 832293 - View products that this article applies to.
Expand all | Collapse all


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


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.


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.


This behavior is by design.


Article ID: 832293 - Last Review: November 10, 2006 - Revision: 2.2
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
kbvba kbfunctions kbformat kbmacro kbcodesnippet kbcode kbprb KB832293

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from