首页 > 解决方案 > 将单元格背景颜色设置为其包含的 RGB 值。如何?

问题描述

下面是我希望通过手动复制和粘贴以外的方式实现的屏幕截图。

这是材料设计颜色托盘,在 Excel 中看起来很棒。

如何遍历范围 B2:B15 并将每个单元格背景颜色设置为其对应的包含颜色?

也许是一个VBA 循环遍历单元格的垂直 B 范围, 解析每个单元格内容,并将单元格背景颜色设置为单元格包含的RGB 值

因此,包含rgb(255, 235, 238)的 RED-50 单元格变为...

Range("B2").Interior.Color = RGB(255, 235, 238)

图像1


更新!

谢谢大家的帮助。以下是您帮助我构建的 Excel 材料设计调色板的 google drive 链接。

按 Control + M激活。

材料.设计.颜色.xlsm

所以所有颜色都变成了它们自己。

图2

标签: excelvba

解决方案


也许是这样的?我无法将单元格的值传递给,Interior.Color所以我决定Split单独提取每种颜色。Sheet1如果需要进行调整。

Sub InteriorColor()
    Dim rngCell As Excel.Range
    Dim varColors As Variant
    Dim lngR As Long, lngG As Long, lngB As Long

    For Each rngCell In Sheet1.Range("B2:B15")
        varColors = Split(rngCell.Value, ",")
        lngR = Right(varColors(0), Len(varColors(0)) - 4)
        lngG = Trim(varColors(1))
        lngB = Left(varColors(2), Len(varColors(2)) - 1)

        rngCell.Interior.Color = RGB(lngR, lngG, lngB)
    Next rngCell
End Sub

结果:

在此处输入图像描述


推荐阅读