エクセルマクロで、チェックボックスをオンで図形表示するVBAコードをご紹介します。
チェックボックスにチェックをつけたら、オブジェクトを表示して、
チェックをはずしたら、そのオブジェクトを消します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
チェックボックスをオンで図形表示(挿入・削除)
以下のExcelVBAを実行すると、チェックボックスONで四角形を挿入して、OFFで四角形を削除します。
Sub チェックボックスONで図形表示()
Dim BName As String
Dim cb As checkbox
'クリックされたチェックボックスの名前を取得
BName = Application.Caller
'クリックしたチェックボックスが 「CheckBox1」 だったら
If BName = "CheckBox1" Then
'セルB2がTrueだったら
If Range("B2") = True Then
With ActiveSheet.Shapes.AddShape _
(msoShapeRectangle, Range("D2").Left, Range("D2").Top, 50, 50)
'図形に名前を付ける
.Name = "rect1"
End With
Else
'図形 「rect1」 を削除
On Error Resume Next
ActiveSheet.Shapes("rect1").Delete
On Error GoTo 0
End If
End If
End Sub
マクロ実行前
マクロを実行する前に、以下を設定していきます。
フォームコントロールから、チェックボックスを挿入します。
チェックボックスに「リンクするセル」を設定します。
チェックボックスに、作成したマクロを登録します。
チェックボックスを選択状態にして、「オブジェクトの選択と表示」
チェックボックスの名前を「CheckBox1」にします。
※赤枠内をクリックすると、名前を編集できます。
マクロ実行後
チェックボックスをONにすると、図形を表示(挿入)します。
チェックボックスをOFFにすると、図形を削除します。
チェックボックスのオン・オフに連動して、オブジェクトを挿入・削除を繰り返します。
チェックボックスをオンで図形表示(表示・非表示)
以下のExcelVBAを実行すると、チェックボックスONで四角形を再表示して、OFFで四角形を非表示にします。
Sub チェックボックスONとOFFで図形表示と非表示()
Dim BName As String
Dim cb As checkbox
'クリックされたチェックボックスの名前を取得
BName = Application.Caller
'クリックしたチェックボックスが 「CheckBox1」 だったら
If BName = "CheckBox1" Then
'セルB2がTrueだったら図形表示
If Range("B2") = True Then
ActiveSheet.Shapes("rect1").Visible = True
Else
'図形 「rect1」 を非表示
ActiveSheet.Shapes("rect1").Visible = False
End If
End If
End Sub
マクロ実行前
上の記事に掲載している「マクロ実行前」と同じ設定を済ませておきます。
表示・非表示を切り替える図の名前を「rect1」にしておきます。
マクロ実行後
チェックボックスをONにすると、図形を表示します。
チェックボックスをOFFにすると、図形を非表示にします。
チェックボックスのオン・オフに連動して、オブジェクトの表示・非表示を切り替えます。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】チェックボックス処理を自動化まとめ
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説