こんにちは、ヒガシです。
このページでは、VBA上で直線図形を作成する方法をご紹介していきます。
単に直線を引くだけではなく、線の色や太さ、破線や矢印の設定まで、よく使う項目はすべて自動設定できるようにしてあります。
それではさっそくやっていきましょう!
VBA上で直線図形を作成する方法
まず初めに、VBA上で直線図形を作成する方法を簡単に解説します。
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x0, y0, x1, y1).Select
これでx0,y0を始点とし、x1,y1を終点とした直線を作成することができます。
これだけではただの直線ですが、以降で紹介するコードを追加することで様々な設定を追加することができます。
VBAで直線図形を作成するサンプルコード
ということで次は、線の色や太さなど、様々な設定を変更しながら直線図形を作成するサンプルコードをご紹介します。
Sub Straight_Shape()
'線の始点、終点を指定する
startx = 100
endx = 200
starty = 100
endy = 200
'直線図形を作成する
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, startx, starty, endx, endy).Select
'線のスタイル等を変更していく
With Selection.ShapeRange.Line
'線の色のRGB値を指定する(赤、緑、青)
.ForeColor.RGB = RGB(255, 0, 0)
'線の太さ(大きくすると太くなる)
.Weight = 4
'線の種類(1,2,3,4,5,6,7,8)
.DashStyle = 1
'線の始点の矢印のスタイル(1,2,3,4,5,6)
.BeginArrowheadStyle = i
'線の始点の矢印の矢の大きさ(1,2,3)
.BeginArrowheadWidth = 2
'線の終点の矢印のスタイル(1,2,3,4,5,6)
.EndArrowheadStyle = 1
'線の終点の矢印の矢の大きさ(1,2,3)
.EndArrowheadWidth = 2
End With
End Sub
基本的にはこのコードをコピーし、線の始点、終点、スタイル等をあなたの好みのものに変更していけばOKです。
なお、線の種類や矢印のスタイルはコメントの中に記載している数値から選ぶ形となります。
以降で線の種類等の数値を変更したらどのような変化が起こるかを解説していきます。
線の種類(.DashStyle)を変更した例
それではまずは線の種類(.DashStyle)をいろいろ変更した際の結果をご紹介します。
以下の画像が.DashStyleを1~8まで変更していった際の結果です。
この中からあなたのお好きなスタイルを選んで設定しましょう。
矢印の種類(.BeginArrowheadStyle)を変更した例
次は始点矢印のスタイル(.BeginArrowheadStyle)を変更したときの結果です。
矢印の太さ(.BeginArrowheadWidth)を変更した例
最後に矢印の太さを変更した結果です。
おわりに
というわけで今回はVBA上で直線図形を作成する方法をご紹介しました。
資料作成の際などにぜひご活用ください。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
ぜひ他の記事ものぞいてみてください。
それではまた!
コメント