用户定义的工作表函数返回#VALUE!错误而不是单元格颜色索引

时间:2014-07-09 07:57:09

标签: excel vba excel-vba cell

有人可以帮我理解这个功能的问题:

'the function returns the DISPLAYED color of specified cell
Public Function cellDisplayCol(ByRef c As Range) As Long
   cellDisplayCol = c.DisplayFormat.Interior.ColorIndex
End Function

Sub test()
   MsgBox cellDisplayCol(ActiveCell)
End Sub

测试按预期工作,但是当我在工作表单元格中使用该函数时: = cellDisplayCol(A1)

它返回#VALUE!错误...

任何想法为什么?我该怎么办?

非常感谢!

1 个答案:

答案 0 :(得分:1)

检查msdn后,您似乎无法在UDF中使用.DisplayFormat

  

请注意,DisplayFormat属性在用户定义的函数中不起作用。例如,在返回单元格内部颜色的工作表函数中,使用类似于以下的行:
  Range(n).DisplayFormat.Interior.ColorIndex。执行工作表函数时,它会返回#VALUE!错误。

http://msdn.microsoft.com/en-us/library/office/ff838814(v=office.15).aspx