Excel:使用VBA获取单元格的背景颜色

我需要获得单元格AU5(填充黑色)的RGB值,但是我的函数显示G53的RGB值。 而我只是不知道,如何通过细胞的价值function….

在这里输入图像说明 在这里输入图像说明

这里是VBA中的一个函数:

在这里输入图像说明

也许任何人都可以帮助解决它?

只需在你的单元格ref中包装indirect() 。 因此,在G54中,使用=getRGB(Indirect(G53))

如果不使用indirect()getRGB()函数会查找所指向的单元格,在这种情况下为G53。 既然你想让公式看看G53中的内容,并使用引用,只需添加indirect()

让自己的function更容易 – 这也可以帮助你:

 Function getRGB(RefCell As String) As String Dim mystr As String Dim rng As Range Set rng = Range(RefCell & ":" & RefCell) Application.Volatile mystr = Right("000000" & Hex(rng.Interior.Color), 6) getRGB = Application.Hex2Dec(Right(mystr, 2)) & ", " & _ Application.Hex2Dec(Mid(mystr, 3, 2)) & ", " & _ Application.Hex2Dec(Left(mystr, 2)) End Function 

在Excel中,执行此操作:

 =getRGB("AU5") ' Result: 0, 0, 0