【VBA】直線図形を等間隔で一括作成する方法!縦、横どちらも可能!

 

この記事では、以下の画像のようにエクセルシート上に等間隔の図形線を一括配置するVBAコードをご紹介していきます。

エクセル上で等間隔の直線図形を作成した例

 

線の間隔や長さ、色や太さまで、あなたの状況に応じて自由に変更できるようになっています。

 

横方向に配置する方法、縦方向に配置する方法にわけて解説していきます。

 

それではさっそくやっていきましょう。

 

スポンサーリンク

横方向に等間隔で線図形を一括配置する方法

まずは先ほどの画像で紹介したように横方向に等間隔で一括配置するVBAコードをご紹介します。

Sub Macro1()
    Dim i As Integer
    Dim p_line As Integer, l_line As Integer, w_line As Integer
    p_line = 20
    l_line = 200
    w_line = 3
    color_line = RGB(255, 0, 0)
    With ActiveSheet.Shapes
        For i = 1 To 10
            .AddConnector(msoConnectorStraight, i * p_line, 1, i * p_line, l_line).Select
            With Selection.ShapeRange.Line
                .ForeColor.RGB = color_line
                .Weight = w_line
            End With
        Next
    End With
End Sub

 

こいつを実行すると冒頭にご紹介したように以下のような状況になるはずです。

エクセル上で等間隔の直線図形を作成した例

 

すこしコードの解説をしておきましょう。

先ほどのコード内の変数は以下の通りです。

p_line:一本、一本の線の間隔

l_line:一本の線の長さ

w_line:一本の線の太さ

color_line:線の色

なお、線の色はRGB形式で指定してあげます。

RGBがよくわからないという人は以下の記事を参考にしてください。

【VBA】セルの背景色&文字色を変更する方法!RGB概念から解説!

 

参考までに変数を以下に変更してもう一度実行してみましょう。

p_line=50

l_line=30

w_line=1

color_line=RGB(0, 0, 0)

 

以下が実行結果です。

エクセル上で等間隔の直線図形を作成した例(線の色、太さ、長さを変更した場合)

線の色、太さ、間隔、長さすべて変更されていることがわかると思います。

あなたの状況に応じて適宜変数を変更しましょう。

 

スポンサーリンク

縦方向に等間隔で線図形を一括配置する方法

次は縦方向に一括配置する方法です。

Sub Macro2()
    Dim i As Integer
    Dim p_line As Integer, l_line As Integer, w_line As Integer
    p_line = 20
    l_line = 200
    w_line = 3
    color_line = RGB(255, 0, 0)
    With ActiveSheet.Shapes
        For i = 1 To 10
            .AddConnector(msoConnectorStraight, 1, i * p_line, l_line, i * p_line).Select
            With Selection.ShapeRange.Line
                .ForeColor.RGB = color_line
                .Weight = w_line
            End With
        Next
    End With
End Sub

 

こいつを実行すると以下のようになりました。

エクセル上で等間隔の直線図形を作成した例(横方向に)
変数に関しては先ほどと考え方は同じです。

 

また、横、縦をどちらも実行することで以下のような格子状にもすることができますね。

エクセル上で等間隔の直線図形を作成した例(横、縦同時)

 

工夫すればいろんなことができそうですね。

ぜひ遊んでみましょう。

 

スポンサーリンク

おわりに

というわけで今回は線図形を等間隔に配置する方法をご紹介しました。

画像の上に配置することで画像の中の物体の長さを測ったりできそうですね。

ぜひ状況に応じてご活用ください。

 

また、以下の記事ではフリー曲線をVBAで配置する方法もご紹介しています。

興味があればご覧ください。

【エクセルVBA】フリー曲線できれいなSIN(COS)カーブを描く方法!

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました