【エクセルVBA】直線図形を使って簡易分度器を作成する方法!刻み確度も指定可能

こんにちは、ヒガシです。

 

このページでは、以下の画像に示すように直線図形を少しずつ回転させることによって簡易的な分度器を作成する方法をご紹介していきます。

エクセル上で簡易分度器を作成した様子

上記の画像のように刻み確度も自由に変更可能です。

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

 

スポンサーリンク

VBA上で直線を作成する方法

まずは基礎スキル紹介として、VBA上で直線図形を作成する方法をご紹介します。

ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x1, y1, x2, y2).Select

上記のx1,y1,x2,y2の部分に直線の始点、終点のX,Y座標を入力すればOKです。

 

スポンサーリンク

VBA上で簡易分度器を作成する方法

冒頭に紹介した簡易的な分度器を作成するには、先ほど紹介した直線図形を作成する際にすこしずつ角度を変えながら始点、終点が円周上に配置されるように調整していけばOKです。

 

中学校でならった三角関数を地道に適用していくだけですね。

 

スポンサーリンク

分度器を作成するサンプルコード

それでは前置きはこのくらいにして実際のコーディングに入っていきましょう。

以下が冒頭に紹介した簡易分度器を作成するVBAコードです。

Sub Macro1()
    center = 200
    r = 50
    delta_deg = 5
    num_loop = (360 \ delta_deg) / 2
    For i = 1 To num_loop
        deg = delta_deg * i
        startx = center - r * Cos(deg * (2 * 3.141592) / 360)
        endx = center + r * Cos(deg * (2 * 3.141592) / 360)
        starty = center - r * Sin(deg * (2 * 3.141592) / 360)
        endy = center + r * Sin(deg * (2 * 3.141592) / 360)
        ActiveSheet.Shapes.AddConnector(msoConnectorStraight, startx, starty, endx, endy).Select
        Selection.ShapeRange.Line.ForeColor.ObjectThemeColor = msoThemeColorText1
    Next
End Sub

 

センター位置(center)や分度器の大きさ(r)はあなたの好きなように変更可能です。

またdelta_degで各線の回転角度を指定可能です。

 

スポンサーリンク

おわりに

というわけで今回はエクセル上に簡易的な分度器を作成する方法をご紹介しました。

画像上でざっくり角度を測る際などにぜひご活用ください。

 

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

ぜひ他の記事ものぞいてみてください。

コメント

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