Excelのチェックボックスを連動する方法
- Release
- Update
Excelで特定のチェックボックスにチェックを入れると、他のチェックボックスに自動的にチェックが入る方法をご紹介します。複数の項目を一括でチェックしたい場合などに便利です。
チェックボックスを連動するにはマクロを使用しますが、詳しくない方でも使えるようにVBAのソースコードを載せています。コピペしてお使いください。
リンクするセルの設定
まずは図のような持ち物リストを準備します。
チェックボックスがチェックされているときは「TRUE」、チェックされていないときは「FALSE」と表示され、一番下に「すべて選択」をチェックすると全選択させる仕様です。この全選択機能を実現させるには、チェックボックス同士の連動が必要となります。
下記の記事を参考に表の準備をしてください。
マクロの登録
B11セルに配置しているチェックボックスを右クリックし、表示された右クリックメニューから【マクロの登録】を選択します。
「マクロの登録」ダイアログボックスが表示されるのでマクロ名として任意のものを入力します。今回は『All_Check』と入力しています。分かりやすい名前にしておきましょう。
マクロの名前を入力したら【新規作成】ボタンを押します。
VBAコードの記述
新しいウィンドウとしてVBE(Visual Basic Editor)が起動します。
コードウィンドウに入力されている「Sub All_Check()」と「End Sub」の間に下記のソースコードを入力します。
Sub All_Check()
If Cells(11, 3) = True Then
Cells(2, 3) = True
Cells(3, 3) = True
Cells(4, 3) = True
Cells(5, 3) = True
Cells(6, 3) = True
Cells(7, 3) = True
Cells(8, 3) = True
Cells(9, 3) = True
ElseIf Cells(11, 3) = False Then
Cells(2, 3) = False
Cells(3, 3) = False
Cells(4, 3) = False
Cells(5, 3) = False
Cells(6, 3) = False
Cells(7, 3) = False
Cells(8, 3) = False
Cells(9, 3) = False
End If
End Sub
「Cells(11, 3)」というのは、C11セルを意味します。VBAでは1つのセルを指定する際、「Cells(行番号, 列番号)」という形式で記述します。
処理の流れとしてはC11セルが「True」の時は他のチェックボックスにリンクするセルを「True」に、反対にC11セルが「False」の時は他のチェックボックスにリンクするセルも「False」にします。
「If A Then X ElseIf B Then Y End If」という形式は、”もしAの場合はXを実行する、Bの場合はYを実行する”という意味になります。
コードを入力したらCtrl+Sを押してブックを保存します。
「名前を付けて保存」ダイアログボックスが表示されるので「ファイルの種類」から【Excel マクロ有効ブック】を選択して保存します。
持ち物リストが表示されているシートに戻ります。「すべて選択」右のチェックボックスを押すと、B2からB9までのセルのチェックボックスも一緒にチェックされた状態になりました。
もう一度「すべて選択」右のチェックボックスを押すと、すべてのチェックボックスからチェックが外れます。個別にそれぞれチェックすることも可能です。
おすすめの商品をご紹介
その他、様々なチェックボックスの編集方法
この記事はお役に立ちましたか?
- はい
- いいえ