我有这样的功能:
Function cellcolor(r As Range) As Long
cellcolor = r.Interior.Color
End Function
然后我在Cell B1中引用它,如下所示:
=cellcolor(A1)
A1的颜色为红色,因此输出为255。
我想将B1的颜色设置为与A1的颜色相匹配,但我不确定如何。有可能吗?
我试过了:
Function cellcolor(r As Range) As Long
cellcolor.Interior.Color = r.Interior.Color
End Function
但它没有用,有什么想法吗?
由于
修改
正如评论中所指出的,函数不能使单元格格式发生变化。因此,我使用了以下内容:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
For Each ws In ActiveWorkbook.Worksheets
For Each cell In ws.Range("B1")
If Len(cell.Formula) > 0 Then
cell.Interior.ColorIndex = Range(cell.Formula).Interior.ColorIndex
End If
Next cell
Next ws
End Sub
基本上在细胞更换时,它会找到B1正在查看的细胞,获取目标细胞的颜色并复制它。它在工作簿中的所有工作表中执行此操作。
我知道它有点奇怪,但却是为了它的目的。谢谢大家!