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