我正在尝试更新工作表上所有标签的背景色。我想使用RGB值指示颜色,但是我被卡在两个地方。这是我现在拥有的代码:
Sheet2.Shapes("Label 2").Fill.BackColor.RGB = RGB(220, 105, 0)
这段代码将正确运行,但似乎没有任何效果。我的标签以白色(或透明)开头,并且从未更改。谁能告诉我要完成这项工作我需要做什么?我也添加了这个,但是它什么也没做:
shp.Fill.Solid
接下来,我想在一个变量中捕获此RGB值,这样我就不必重复输入。本质上,我正在寻找这样的东西:
dim col as Color
col = RGB(220,105,0)
Sheet2.Shapes("Label 2").Fill.BackColor.RGB = col
我知道没有称为Color的变量类型,但是我认为您可以看到我正在尝试做的事情。
最佳答案
尝试改为设置ForeColor:
Sheet2.Shapes("Label 2").Fill.ForeColor.RGB = RGB(220, 105, 0)
弄清楚该怎么做的一个好方法是在自己进行调整时记录宏。您可以随后检查生成的代码并将其用作起点。
这是一个过程示例,该过程将向活动表添加一个矩形,向其添加一些文本,然后使用RGB值为其着色:
Public Sub AddRectangleWithText()
Dim textRectangle As Shape
Set textRectangle = ActiveSheet.Shapes & _
.AddShape(msoShapeRectangle, 10, 80, 250, 50)
' add your text
textRectangle.TextFrame.Characters.Text = "Your mother was a hamster."
' fill the shape with the rgb color of your choice
textRectangle.Fill.ForeColor.RGB = RGB(220, 105, 0)
End Sub
关于excel-vba - 改变形状的背景色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11552930/