excel - 返回条件格式单元格内部颜色的函数

标签 excel vba colors conditional-formatting

我想要一个返回条件格式单元格的颜色索引值的函数。

它用于检查一行中的多个单元格,如果它们使用条件格式突出显示,则需要执行操作 - 检查单元格中是否有颜色而不是创建覆盖条件的组合条件公式更简单的所有细胞。或者我是这么想的。。

下面的代码返回 #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/

相关文章:

vba - Excel VBA 中的 Outlook 电子邮件和签名 - .Body 与 .HTMLbody

c# - 绑定(bind)到 Excel 应用程序事件时 MissingMethodException

excel - SSAS 日期在 Excel 筛选器中不起作用

vba - 即使是静态的,Property Get 也不会保留值

vba - 更改工作表代码名称

excel - 无法在 VBA 中返回正确的变量计数

colors - ffmpeg 颜色不透明度

algorithm - 如何为任意自然数n生成n种不同的颜色?

string - “相乘”字符串单元格以形成组合字符串的 MxN 大小单元格数组

Excel "true-false"到复选框