SpecialCells (xlCellTypeBlanks) VBA 函式在 Excel 中無法如預期般運作

徵狀

當您建立 Microsoft Visual Basic for Applications (VBA) 宏,該宏會選取 Microsoft Excel 活頁簿中使用類似下列 VBA 表達式的多個非連續範圍,只應該與非連續單元格一起發生的動作會出現在工作表上原始選取範圍的每個單元格上:

VB
expression.SpecialCells(XlCellType).expression XlCellType

可以是下列任一項:

  • xlCellTypeAllFormatConditions
  • xlCellTypeAllValidation
  • xlCellTypeBlanks
  • xlCellTypeComments
  • xlCellTypeConstants
  • xlCellTypeFormulas
  • xlCellTypeSameFormatConditions
  • xlCellTypeSameValidation
  • xlCellTypeVisible

原因

如果您使用宏選取超過 8,192 個非連續單元格,就會發生此行為。 Excel 透過 VBA 宏最多僅支援 8,192 個非連續單元格。

一般而言,如果您嘗試手動選取超過8,192個非連續單元格,您會收到下列錯誤訊息:

選取範圍太大。

不過,當您使用 VBA 宏進行相同或類似的選取時,不會引發任何錯誤訊息,而且不會產生可透過錯誤處理程式擷取的錯誤碼。

因應措施

若要解決此行為,您可能想要在 VBA宏中建立循環結構,以處理小於最多 8,192 個數據格的循環結構。

狀態

產生此錯誤是系統刻意為之。