在VBA中将颜色转换为十六进制无法正常工作

时间:2019-02-25 19:59:06

标签: excel vba colors hex decimal

我相信这是一个简单的问题,但是我不做大量编程工作,所以我不确定到底出了什么问题。另外,我很确定我大约一年前在一个项目中遇到了这个问题,但是不幸的是,忘记了修复的方法(糟糕)。

这是我的代码:

Function returnColor()
    returnColor = Hex(Application.Caller.Interior.Color)
End Function

很显然很简单。当单元格颜色为白色时,它将返回FFFFFF;而当单元格颜色为黑色时,它将返回0。但是,对于任何其他颜色,返回的十六进制有时几乎是正确的值减去一位或两位数,有时完全是错误的十六进制。我认为问题出在代码将其转换为十六进制之前,它去除了初始值中的零,但这只是一个猜测。任何帮助表示赞赏!

0 个答案:

没有答案