VBA 代码返回#value 错误

标签 vba excel

我试图在 excel 中显示条件格式的颜色。 例如,在 excel 中,我只是使用 =CheckColour(B5),当我点击返回时,它就起作用了。但是,当我要求工作表进行计算时,该函数给出了#VALUE!而且我不知道我哪里出错了。感谢您的帮助,因为我是 VBA 的初学者。谢谢

    Function CheckColour(range)
        If range.DisplayFormat.Interior.Color = RGB(255, 0, 0) Then
        CheckColour = "Red"
        ElseIf range.DisplayFormat.Interior.Color = RGB(0, 130, 59) Then
        CheckColour = "Green"
        Else
        CheckColour = "Amber"
        End If
    End Function

最佳答案

是的,因为:

Note that the DisplayFormat property does not work in user defined functions. For example, in a worksheet function that returns the interior color of a cell, you use a line similar to: Range(n).DisplayFormat.Interior.ColorIndex. When the worksheet function executes, it returns a #VALUE! error. Ref.

改为使用:

range.Interior.Color 

关于VBA 代码返回#value 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42094225/

相关文章:

java - 将宏图转换为 gwt

wcf - 使用 Excel 在 WCF mex Moniker 上调用方法时出现自动化错误

excel - 自动求和单元格 VBA Excel

javascript - 对相似参数进行分组的逻辑

excel - 包含 Lastrow 的 SUMIF 公式

events - xla 加载项中的 Worksheet_SelectionChange 事件

excel - 使用 selenium 检查域

excel - 复制参数不适用于 Range 对象

Excel 2013 在 VBA 中打印为 PDF

r - 具有三个度量的分组条形图