excel - 更改形状的背景颜色

标签 excel backcolor vba

我正在尝试更新工作表上所有标签的背景色。我想使用 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 的变量类型,但我想你可以看到我想要做什么。

最佳答案

尝试设置前景色:

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 - 更改形状的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552930/

相关文章:

regex - 数字前仅允许文本和多个 0,不允许 [1-9]

C#标签颜色改变

sql - UPDATE sql 不更新

excel - 在字符串变量的第二个实例之后捕获子匹配

excel - 在 VBA 中将工作表作为变量从一个子过程传递到另一个子过程

vba - 如何使用vba仅将单个工作表复制到另一个工作簿

java - 无法将 Excel 文件中的日期值放入 Web 申请表中

.net - 为什么 winform 面板只在鼠标悬停或鼠标单击时更新?

c# - win 7无法绘制组合框

excel - 将新标签页复制并粘贴到 MSForms.Page 中