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

时间:2014-05-01 05:05:12

标签: excel excel-vba vba

为什么以下行有效:

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

以下没有:

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

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

1 个答案:

答案 0 :(得分:1)

我能够在以下情况下重现您的错误: 插入图表表(手动完成)并使其保持活动状态。现在,您的代码将始终返回Method Range of object _Global failed (1004)

enter image description here

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

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

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