我想要一个返回条件格式单元格的颜色索引值的函数。
它用于检查一行中的多个单元格,如果它们使用条件格式突出显示,则需要执行操作 - 检查单元格中是否有颜色而不是创建覆盖条件的组合条件公式更简单的所有细胞。或者我是这么想的。。
下面的代码返回 #VALUE 错误,尽管代码在 msg 框中工作。
Function fillcolour(rng as Range) as variant
fillcolour=rng.Displayformat.Interior.ColorIndex
End Function
期望看到返回的颜色索引值但得到 #VALUE
最佳答案
要使用更改事件:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Call fillcolour(Cells(1, 1))
Application.EnableEvents = True
End Sub
Function fillcolour(ring As Range) As Variant
fillcolour = ring.DisplayFormat.Interior.Color
Cells(1, 2) = fillcolour
End Function
每次更改单元格的内容时,它都会在单元格 B1 中显示背景颜色(即使它来自条件格式)。
但是,此事件会返回一个目标,其中包含导致该事件的行和列(Target.Row、Target.Column 等等)。您可以使用此目标来检测您直接在单元格上所做的更改。
当单元格在新计算期间发生更改时,不会发生此事件。使用计算事件来检测范围/单元格的变化。
关于excel - 返回条件格式单元格内部颜色的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56713741/