2

ワークシートにあるすべてのラベルの背景色を更新しようとしています。RGB 値を使用して色を示したいのですが、2 つの場所で行き詰まっています。これが私が今持っているコードです:

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 という変数型がないことはわかっていますが、何をしようとしているのかはお分かりいただけると思います。

4

3 に答える 3

12

代わりに 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
于 2012-07-19T02:11:40.330 に答える
4

ForeColor実際には、Excel のコメント/テキスト ボックスの背景色を次のように制御します。

  • Activecell.Comment.Shape.Fill.ForeColor.RGB = RGB(240, 255, 250) 'Mint Green

Comment/はTextBox ForeColorApplicatoin の背景色に対する前景の塗りつぶしであるためです。

于 2015-12-27T16:12:16.910 に答える