Excel VBAで図形(シェイプ)の位置・線色・塗りつぶしの色等を設定する
Excel VBAで図形の位置・線色・塗りつぶしの色等を設定するには、ShapeRangeオブジェクトを使用します。
Homeに戻る >
Excel 図形のTipsへ
使用しているプロパティです。
For Each を使い総当りで図形の名前を調べ、下のプロパティで設定しています。
- 図形の名前: Name
- 表示: Visible
- 左位置: Left
- 上位置: Top
- 幅: Width
- 高さ: Height
- 角度: Rotation
- 線の太さ: Line.Weight
- 点線のスタイル: Line.DashStyle
- 線種: Line.Style
- 線の透明度: Line.Transparency
- 線の表示: Line.Visible
- 線色: Line.ForeColor.RGB
- 塗りつぶし: Fill.Visible
- 塗りの透明度: Fill.Transparency
- 塗りつぶし色: Fill.ForeColor.RGB
図形に関連する「オートシェイプのクリックイベントでシェイプの名前を取得」も掲載していますので、参考にしてください。
ShapeRangeオブジェクトを使用し、図形の位置・線色・塗りつぶしの色等を設定するVBA
Excel VBA シートコード
作成したExShapeプロシージャの説明
- For Eachを使い総当たりで図形の名前を取得します。
- 名前が「Rectangle 1」ならば、次のプロパティを設定します。
- Left・Topで図形の位置をセットします。
- Width・Heightで図形のサイズをセットします。
- Line.Weightで線の太さをセットします。
- Line.DashStyleで線のスタイル(実線や点線など)をセットします。
- Line.Styleで線種(一重線や二重線など)をセットします。
- Line.Transparencyで線の透明度をセットします。
- Line.Visibleで線の表示をセットします。
- Line.ForeColor.RGBで線色をセットします。
- Fill.Visibleで塗りつぶしをセットします。
- Fill.Transparencyで塗りの透明度をセットします。
- Fill.ForeColor.RGBで塗りつぶし色をセットします。
Private Sub ExShape()
Dim t As Object
Dim s As String
For Each t In Sheets("Sheet3").Rectangles
'図形の名前
s = t.Name
If s = "Rectangle 1" Then
'表示
t.Visible = True
'位置
t.ShapeRange.Left = 132
t.ShapeRange.Top = 135
t.ShapeRange.Width = 49.5
t.ShapeRange.Height = 88.5
'角度
t.ShapeRange.Rotation = 0
'線 太さ
t.ShapeRange.Line.Weight = 0.75
'線のスタイル
t.ShapeRange.Line.DashStyle = msoLineSolid
'線種
t.ShapeRange.Line.Style = msoLineSingle '1本線
'透明度
t.ShapeRange.Line.Transparency = 0 '0.0 (不透明) ~ 1.0 (透明)
'線の表示
t.ShapeRange.Line.Visible = True
'線色
t.ShapeRange.Line.ForeColor.RGB = RGB(255, 0, 0)
'塗りつぶし
t.ShapeRange.Fill.Visible = True
'透明度
t.ShapeRange.Fill.Transparency = 0
'塗りつぶし色
t.ShapeRange.Fill.ForeColor.RGB = RGB(255, 210, 1)
Exit For
End If
Next
End Sub
Excel VBAの実行結果
開始前は枠線だけです。
実行結果
位置・サイズ・色などが変更できました。
Homeに戻る >
Excel 図形のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved