当Range合并单元格时Range.Interior.Color错误。

为什么以下行工作:

Range("A1,B2").Interior.Color = someColorAsLong 

以下不是:

  dim someVariableName as Long someVariableName = Range("A1,B2").Interior.Color 

我甚至试图指定活动工作表,工作簿和活动工作表。我有时超出范围exception(仍然是1004),但主要是对象全局方法失败(1004)。

在下列情况下,我能够重现您的错误:插入图表(手动)并保持活动状态。 现在你的代码将总是返回Method Range of object _Global failed (1004)

在这里输入图像说明

这是你得到的错误的一个可能的答案。 为避免此错误,请务必明确指定工作簿和工作表。

 Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") someVariableName = ws.Range("A1,B2").Interior.Color 

明确指定工作簿和工作表比使用ActiveSheet更好,因为用户可以使图表工作表处于活动状态。 虽然在你的情况下,你有工作表上的代码,所以不应该发生。