Tim*_*ams 16
UDF版本:
Function myRGB(r, g, b)
Dim clr As Long, src As Range, sht As String, f, v
If IsEmpty(r) Or IsEmpty(g) Or IsEmpty(b) Then
clr = vbWhite
Else
clr = RGB(r, g, b)
End If
Set src = Application.ThisCell
sht = src.Parent.Name
f = "Changeit(""" & sht & """,""" & _
src.Address(False, False) & """," & clr & ")"
src.Parent.Evaluate f
myRGB = ""
End Function
Sub ChangeIt(sht, c, clr As Long)
ThisWorkbook.Sheets(sht).Range(c).Interior.Color = clr
End Sub
Run Code Online (Sandbox Code Playgroud)
用法(在D1中输入):
=myRGB(A1,B1,C1)
Run Code Online (Sandbox Code Playgroud)
在D1中输入:
=A1 & "," & B1 & "," & C1
Run Code Online (Sandbox Code Playgroud)
在工作表代码区域中,输入以下事件宏:
Private Sub Worksheet_Calculate()
Range("D1").Interior.Color = RGB(Range("A1"), Range("B1"), Range("C1"))
End Sub
Run Code Online (Sandbox Code Playgroud)