【Excel VBA】図形をセルの枠線に合わせる設定でコマンドボタンのON,OFF表示ができるようにするには?

Excel フローチャート

前回は図形をセルの枠線に合わせる設定でボタンでON,OFFの切り替えをできるようにしました。

今回は、ボタンをクリックしたときに表示がON,OFFになればわかりやすいので、コマンドボタン (ActiveX コントロール)を使用して作成していきたいと思います。

コマンドボタンを作成します

前回作成したボタンを削除しておきます。

「開発」タブ →「挿入」→「コマンド ボタン (ActiveX コントロール)」をクリックします。

コマンドボタンを配置したい場所をマウスでドラッグします。

コマンドボタン1が作成されました。

デザインモードをオンになっているのを確認します。デザインモードボタンの背景が濃い色のときはデザインモードがオン、背景が薄い色のときはデザインモードがオフです。

作成したコマンドボタン1をダブルクリックしてVBEのコードウィンドウが表示し、次のコードを貼り付けます。

Private Sub CommandButton1_Click()

Application.CommandBars.ExecuteMso "SnapToGrid" 'リボンの「枠線に合わせる」ボタンを押す操作をします。

If Application.CommandBars.GetPressedMso("SnapToGrid") Then '「枠線に合わせる」ボタンがONのときは。

ActiveSheet.CommandButton1.Caption = "ON"
MsgBox "図形を「枠線に合わせる」設定をONにしました。"

Else '「枠線に合わせる」ボタンがOFFのときは。

ActiveSheet.CommandButton1.Caption = "OFF"
MsgBox "図形を「枠線に合わせる」設定をOFFにしました。"

End If

End Sub

Excelのシート1を表示してデザインモードをオフにします。

コマンドボタン1をクリックすると表示がON,OFF切り替わるようになりました。

ボタンの表示が変わることでセルの「枠線に合わせる」設定の状態が見てわかるようになりフローチャートで図形を操作する作業が少し楽になったかと思います。