Dennis希望用RGB值填充三个单元格(A1:A3),并让另一个单元格(C1)根据这些值显示颜色。他想知道是否有简单的方法可以做到这一点。

最简单的方法是使用一个宏,该宏抓取A1:A3中的值,然后根据这些值修改单元格C1的颜色。

理想情况下,宏应检查以确保源单元格中的值在0到255的范围内。以下宏可很好地实现此目的:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A3")) Is Nothing Then         lRed = Abs(Range("A1").Value) Mod 256         lGreen = Abs(Range("A2").Value) Mod 256         lBlue = Abs(Range("A3").Value) Mod 256

Range("C1").Interior.Color = _           RGB(lRed, lGreen, lBlue)

End If End Sub

请注意,应将此宏添加到单元格所在的工作表的代码中。 (只需右键单击工作表选项卡,然后选择“查看代码”,然后在其中添加宏。)这是一个事件处理程序,每次在单元格A1,A2或A3中发生更改时,该处理程序就会自动运行。

通过获取单元格内容的绝对值并使用余数(模)

,确保这些单元格中的值在0到255之间。将其除以256。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

链接:/ excelribbon-ExcelTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(9090)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Showing_RGB_Colors_in_a_Cell [在单元格中显示RGB颜色]。