電子書籍の厳選無料作品が豊富!

下記のオートシェイプの色を全て赤色に変更する方法をお教えください。

'33 msoShapeRightArrow 右向きブロック矢印
'34 msoShapeLeftArrow 左向きブロック矢印
'35 msoShapeUpArrow 上向きブロック矢印
'36 msoShapeDownArrow 下向きブロック矢印

よろしくお願いします。

質問者からの補足コメント

  • すみません、VBA初心者すぎて分かっていません。

    ActiveSheet.Ovals.Select
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(255, 0, 0)
    .Transparency = 0
    End With

    上記の様に
    '33 msoShapeRightArrow 右向きブロック矢印
    で書く方法はないですか?

    よろしくお願いします。

      補足日時:2024/07/11 01:04

A 回答 (2件)

No1です。



>上記の様に
>'33 msoShapeRightArrow 右向きブロック矢印
>で書く方法はないですか?
ご例示のようなOvalやRectangle、Pctureといったものは、種別を指定してまとめて取得できる方法が提供されていますが、ご質問の矢印に関しては(多分)無いと思います。(あるかも知れませんが、私は知りません)

では、そのような場合に通常はどうするかと言えば、『上位包含オブジェクト(=Shapes)を走査して、該当するものに対して行いたい処理をする』といった方法を取ります。
具体的には、No1に示した内容がこれに当たります。
    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2024/07/11 20:35

こんばんは



シート内のオートシェイプが対象でよいのなら、
 Worksheet.Shapes
でオートシェイプ全体を取得できますので、それらを順にチェックして色を設定するようにすれば良いです。

ご提示のシェイプの種別は
 Shape.AutoShapeType
で取得できますので、「ご指定のものに該当していたら色を変える」というロジックにしておけば良いでしょう。

例えば「塗り色」の場合であれば
 Shape.Fill.ForeColor.RGB = vbRed
のように指定をすれば、そのオブジェクトの色を赤にできます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A