Excel VBA 選択セル範囲の中心に列方向で両端矢印の線を引く

スポンサーリンク
スポンサーリンク

選択セル範囲の中心に列方向で両端矢印の線を引く方法

例えば、勤務スケジュールやタイムスケジュール表を
Excelで作成するときにスケジュールの範囲を両端矢印の線で
表示する場合があると思います。
通常はオートシェイプを挿入して、その範囲に合わせて
シェイプ配置をすることになりますが、
セルの範囲にピッタリと合わせるのが手間だったりします。

選択したセル範囲の中心に列(縦)方向で両端矢印の線を
自動で引くコードをご紹介します。

選択したセル範囲の中心に行(横)方向で両端矢印の線を
自動で引くコードについてはこちらをご覧ください。

実行イメージ

セル範囲を選択します。

コードを実行します。

選択セル範囲の中心に列方向の両端矢印線が作成されました。


セルの枠線に合わせて両端矢印線を引く場合は
線を引く枠線が中心になるように両端のセルを選択します。


コードを実行します。

枠線に合わせて両端矢印が作成されました。


ワークシートに両端矢印線を挿入する方法

ワークシートに線を挿入するには
Shapes【シェイプス】コレクション
AddLine【アドライン】メソッドを使用します。
AddLine【アドライン】メソッドで作成したShapeオブジェクト(線)に対して
Line【ライン】プロパティで、線の書式設定をするための
LineFormat【ラインフォーマット】オブジェクトを取得して線に
矢印や色太さの書式を設定します。

選択セル範囲の中心に列方向で両端矢印の線を引くコード例

Sub 列矢印()
Dim R As Range
Set R = Selection
With ActiveSheet.Shapes. _
AddLine(R.Left + R.Width / 2, R.Top, R.Left + R.Width / 2, R.Top + R.Height).Line
 .ForeColor.RGB = RGB(0, 0, 255)
 .Style = 1
 .BeginArrowheadStyle = 3
 .EndArrowheadStyle = 3
 .Weight = 3
End With
End Sub

コードの解説

2行目
【Dim R As Range】

選択セル範囲を格納する
変数「R」をオブジェクト型で宣言します。


3行目
【Set R = Selection】

オブジェクト変数「R」にSetキーワードを使用して
「Selection」すなわち現在選択されているセルまたは
セル範囲を代入します。


4行目~5行目
【With ActiveSheet.Shapes. _
AddLine(R.Left + R.Width / 2, R.Top, R.Left + R.Width / 2, R.Top + R.Height).Line】

Shapes【シェイプス】コレクションのAddLine【アドライン】メソッドで
Shape【シェイプ】(線)オブジェクトを追加して取得し
さらに、Line【ライン】プロパティで線の書式を表す
LineFormat【ラインフォーマット】オブジェクトを取得して
With【ウィズ】ステートメントで指定します。
AddLineメソッドの引数は
左端からの線の始まり位置
上端からの線の始まり位置
左端からの線の終わり位置
上端からの線の終わり位置
の順でポイント単位で指定します。
ポイントの取得は
変数「R」に代入されたセルまたは、セル範囲を基準に
Rangeオブジェクトの
Left、Top、Width、Heightプロパティで取得します。


6行目
【 .ForeColor.RGB = RGB(0, 0, 255)】

withステートメントで指定した
線の書式を表す、LineFormat【ラインフォーマット】オブジェクトに対して
ForeColor【フォアカラー】プロパティを使用して
RGB関数で線に色を設定します。
線の色を変更する場合はRGB値を変更してください。


7行目
【.Style = 1】

同じくwithステートメントで指定した
線の書式を表す、LineFormat【ラインフォーマット】オブジェクトの
Style【スタイル】プロパティを使用して線のスタイルを
1の実線に指定します。


8行目
【.BeginArrowheadStyle = 3】

LineFormat【ラインフォーマット】オブジェクトの
BeginArrowheadStyle【ビギンアロースタイル】プロパティを使用して
線の始点の矢印のスタイルを3の開いた矢印に設定します。


9行目
【.EndArrowheadStyle = 3】

LineFormat【ラインフォーマット】オブジェクトの
EndArrowheadStyle【エンドアロースタイル】プロパティを使用して
線の終点の矢印のスタイルを3の開いた矢印に設定します。


10行目
【.Weight = 3】
LineFormat【ラインフォーマット】オブジェクトの
Weight【ウエイト】プロパティを使用して
線の太さを3に指定します。


以上で
選択セル範囲の中心に列方向で両端矢印の線を引く方法に
ついての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク