【エクセルマクロ】チェックボックスをオンで図形表示:コピペで使えるコード

vba-チェックボックスをオンで図形表示-アイキャッチ ExcelVBA

エクセルマクロで、チェックボックスをオンで図形表示する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にすると、図形を非表示にします。

チェックボックスのオン・オフに連動して、オブジェクトの表示・非表示を切り替えます。


 
 

この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】チェックボックスを自動操作する:超便利14選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説