答案1
您需要将单元格属性的值转换Interior.ColorIndex
为变量
例如intCellColour = Range("A1").Interior.ColorIndex
,然后将该值应用于目标单元格
例如Range("C2").Interior.ColorIndex = intCellColour
为了测试这一点,您可以在工作表上添加一个 OnClick 事件来显示一个带有单元格颜色的消息框
例如msgbox Selection.Interior.ColorIndex
但请注意,颜色索引调色板上只有 56 种颜色。您可能需要转而使用 RGB 值。
答案2
您可以像这样使用 UDF:
Function CPF(src As Range, dest As Range) As Range
Dim c As Range, fnd As Range
For Each c In dest
Set fnd = src.Find(c.Value, , , xlWhole)
If Not fnd Is Nothing Then
c.Interior.Color = fnd.Interior.Color
End If
Next c
Set CPF = dest
End Function
将代码放入通用模块中。然后在名称框输入以下内容:
CPF(src;dest)
在哪里
- 源码是源范围的名称或地址 (table1)
- 目的地是您的目的地范围的名称或地址(表 2)
根据您当地的设置使用逗号或分号作为分隔符。例如
CPF(B2:C4;F2:H7)