【エクセルマクロ】チェックボックスを複数連動する方法は?コピペで使えるコード

エクセルマクロ_チェックボックスを複数連動設定_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、チェックボックスを複数連動する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」の文字は、

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


 

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