VBA - 一次性检索范围内所有单元格的单元格颜色

时间:2018-02-05 07:19:12

标签: excel vba excel-vba

我正在为我们的数据协调工作簿开展优化任务,而代码所做的部分工作是根据某些条件为某些单元格着色特定颜色。我想检索2D数组中的所有单元格颜色,类似于如何使用以下方法检索范围内的所有单元格值:

Dim myRangeVals() as Variant
myRangeVals = someRange.value

我尝试使用以下代码,但Interior.Color返回Double

Dim myCellColours() as Variant
myCellColours = someRange.Interior.Color

有没有办法一次性检索所有单元格颜色(当然没有循环)?

谢谢

1 个答案:

答案 0 :(得分:2)

有没有办法一次性检索所有单元格颜色(当然没有循环)?

不,不是。

看看Range Object (Excel)

您会发现Range.Value Property (Excel)的属性RangeValueDataType默认为xlRangeValueDefault。这意味着:

  

...如果Range对象包含多个单元格,则返回一个数组   价值观......

这就是为什么Range.Value可能会返回一个数组。

但是Range.Interior Property (Excel)

  

返回表示内部对象的Interior对象   指定的对象。

这仅对整个给定的Range表示一个 Interior Object (Excel)