お気楽工作日記

お気楽工作日記

VBAでメーターを作る


メーターの写真に別に描いた針を重ねて、針をVBAで回転させてます。


その1 メーターの写真を用意して、オートシェイプで針を描きます。


VBAでメーターを作る
針はオートシェイプの三角形と丸を組み合わせて作りました。ディフォルトでは、画の中心が回転中心となるので、針は上下、左右対称になるように描いてます。なので、本来不要な下側の針は「線なし」、「塗りつぶしなし」にしておきます。

その2 メーターの写真に針を重ねる。



メーターの写真に"mojiban"、針に"hari"と名前をつけておきます。
文字盤の縦横のサイズ、位置と針の縦横のサイズを取得し、針の中心を、文字盤の中心にセットします。
針は真上を向いたときに0度(例のように描くと)、角度を増やしていくと、時計回りに回転するので、針を文字盤の0にあわせるために、角度を235度にセットします。
VBAのソースはこんな感じ↓

'文字盤と針の位置あわせ

'文字盤のサイズ、位置取得
Set WS = Worksheets("Sheet1")
Set Shp = WS.Shapes("mojiban")
With Shp

Range("A2") = Shp.Height
Range("A3") = Shp.Width
Range("A4") = Shp.Top
Range("A5") = Shp.Left


End With

'針のサイズ取得
Set Shp = WS.Shapes("hari")
With Shp

Range("b2") = Shp.Height
Range("b3") = Shp.Width

'針の中心を、文字盤の中心にセット
Shp.Top = Range("c2") 'c2=A4+A2/2-B2/2
Shp.Left = Range("c3") 'c3=A5+A3/2-B3/2

'針を文字盤の0にあわせる
Shp.Rotation = 235

End With

その3 スクロールバーで針を回転させる



スクロールバーの最小値~最大値を0~100に設定して、針の角度235~485度に対応させれば、スクロールバーの値のとおりにメーターの針が動きます。
VBAのソースはこんな感じ↓

Private Sub ScrollBar1_Change()

Set WS = Worksheets("Sheet1")
Set Shp = WS.Shapes("hari")
With Shp
Shp.Rotation = (ScrollBar1.Value / 100 * 250) + 235
End With

End Sub




トラ技付録のUSBマイコンボード
電子工作 メニュー
HOME



にほんブログ村 鉄道ブログ 鉄道模型へ

にほんブログ村 その他趣味ブログ 電子工作へ

ブログランキング・にほんブログ村へ

ブログランキングです↑ 人気のブログが揃ってます。




© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: