【エクセルマクロ】チェックボックスを複数連動する(動画あり)

エクセルマクロ_チェックボックスを複数連動設定_アイキャッチ ExcelVBA

エクセルマクロで、チェックボックスを複数連動するVBAコードをご紹介します。

1つのチェックボックスにチェックを入れると、
他の複数のチェックボックスに自動でチェックが入るように設定します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

チェックボックスを複数連動(パターン1)

以下のマクロを実行すると、チェックボックスを一括で連動するように設定します。


Private Sub Worksheet_Calculate()

Dim i As Long

    'セルC1が true だったら
    If Cells(1, 3) = True Then

        For i = 4 To 12
            Cells(i, 3) = True
        Next i

    'セルC1が true ではなかったら
    Else

        For i = 4 To 12
            Cells(i, 3) = False
        Next i

    End If

End Sub

 

マクロ実行後

親となるチェックボックスをONにすると、子であるチェックボックスがONになります。

また、親となるチェックボックスをOFFにすると、子であるチェックボックスがOFFになります。


 
 

[Private Sub Worksheet_Calculate()] イベントを使用しているため、

ちょっとした裏ワザ設定が必要です。

シート内に計算式を入力してください。簡単なものでも大丈夫です。

私は下図のように、セルE1に、「=C1」という計算式を入力しました。


 

VBE エディタ

チェックボックスの連動設定をしたいシートに、イベントマクロを設定します。


 
 

チェックボックスを複数連動(パターン2)

以下のマクロを実行すると、チェックボックスを一気に連動するように設定します。


Private Sub Worksheet_Calculate()

Dim i As Long
Dim J As Long

    'セルB1が true だったら
    If Cells(1, 2) = True Then
    
        For J = 2 To 4
            For i = 5 To 8
                Cells(i, J) = True
            Next i
        Next J

    'セルB1が true ではなかったら
    Else

        For J = 2 To 4
            For i = 5 To 8
                Cells(i, J) = False
            Next i
        Next J

    End If

End Sub

 

マクロ実行後

表形式に配置しているチェックボックスを一括連動させます。


 

あらかじめ「リンクするセル」を、チェックボックスを配置しているセルに設定しています。

セルに表示される「TRUE」「FALSE」の文字は、

条件付き書式で ”白文字” に設定すると見た目がスッキリします。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】チェックボックス処理を自動化する使用例をみる
 

【エクセルマクロ】チェックボックスを自動操作:使用例16選
...

 

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