Office Hack

Excelのチェックボックスを連動する方法

  • Release
  • Update

この記事では、エクセルのチェックボックスを連動する方法についてご紹介しています。

チェックボックスを任意のセルや別のチェックボックスと連動させることによって、複数のチェックボックスに一括でチェックを入れたり、別シートのチェックボックスに自動的にチェックが入るように設定すること等が可能です。

ぜひ覚えて、チェックボックスをさらに活用していきましょう。

チェックボックスの作り方

チェックボックスの例

エクセルのチェックボックスとは、上の画像のようにクリックすることでチェックマークが入る小さな四角い枠を作成する機能のことです。

エクセルでチェックボックスを作成する方法が分からない方は、以下の記事「チェックボックスの作り方」セクションをご参照ください。

エクセルのチェックボックスを連動する方法

チェックボックスにチェックが入ったらTRUE、チェックを外したらFALSEと任意のセルに表示する方法についてご説明します。

作業時間:5分

  1. チェックボックスが配置されているファイルを用意する

    リンクするセルの例

    チェックボックスが配置されている任意のエクセルファイルを用意します。今回は、B2セルのチェックボックスとD2セルを連動させる方法についてご説明します。チェックボックスにチェックが入ったら「TRUE」、チェックを外したら「FALSE」と、D2セルに表示されるように設定していきます。

  2. コントロールの書式設定を開く

    任意のチェックボックスを右クリック

    ①「任意のチェックボックス(例:B2セルのチェックボックス)」の上で【右クリック】し、②【コントロールの書式設定】の順に選択します。

  3. リンクするセルを設定する

    連動するセル番地を入力

    「コントロールの書式設定」ダイアログボックスが表示されます。①【コントロール】タブを選択します。②「リンクするセル」に『チェックボックスと連動させたいセル番地(例:D2)』を入力し、③【OK】ボタンを押します。

  4. チェックボックスと任意のセルが連動する

    TRUEの場合

    これで、チェックボックスにチェックが入ったら「TRUE」と任意のセル(例:D2)に表示されるようになりました。

  5. チェックを外した場合を確認する

    FALSEの場合

    試しにチェックを外してみると、問題なく「FALSE」と表示されました。チェックの有無を任意のセルに「TRUE」と「FALSE」で表示する方法は、チェックボックスを他のセルや他のチェックボックスと連動させる際の基本の操作になります。ぜひ覚えておきましょう。

別シートのチェックボックスに連動する方法

あるシートのチェックボックスにチェックを入れた際に、別シートのチェックボックスにも自動的にチェックが入るように設定する方法について、ご説明します。

今回はSheet1とSheet2のB2セルにそれぞれ、「シート1のチェックボックス」と「シート2のチェックボックス」を作成し、「シート1のチェックボックス」にチェックを入れたら「シート2のチェックボックス」にも自動的にチェックが入るように設定する方法についてご説明します。

チェックボックスは、フォームコントロールで作成しましょう。

コントロールの書式設定を選択

任意のエクセルファイルを開きます。

①【Sheet2】を選択します。

②「シート2のチェックボックス」の上で【右クリック】し、③【コントロールの書式設定】を選択します。

セル番地を入力する

「コントロールの書式設定」ダイアログボックスが表示されます。

①【コントロール】タブを選択します。

②「リンクするセル」に『任意のセル番地(例:C2)』を入力し、③【OK】ボタンを押します。

同じSheet2内の任意のセルを、リンクするセルとして設定すると分かりやすいです。

シート1に移動する

これで、「シート2のチェックボックス」にチェックを入れると、C2セルにTRUEの文字が表示されるように設定できました。チェックを外すとFALSEと表示されます。

次は、この「シート2のチェックボックス」のTRUEとFALSEの表示を使って「シート1のチェックボックス」と連動させる設定をします。

【Sheet1】を選択します。

コントロールの書式設定を選択する

①「シート1のチェックボックス」を【右クリック】し、②【コントロールの書式設定】を選択します。

シート2のセルをリンクするセルをして設定する

「コントロールの書式設定」ダイアログボックスが表示されます。

①【コントロール】タブを選択し、②「リンクするセル」に『Sheet2!C2』と入力します。

③【OK】ボタンを押します。

ここまでで、「シート1のチェックボックス」と「シート2のチェックボックス」をSheet2のC2セルを介して連動させる設定ができました。

チェックを入れる

これでシート1のチェックボックスと、シート2のチェックボックスを連動させる設定が完了しました。

試しに、①「シート1のチェックボックス」に【チェックマーク】を入れて、②【Sheet2】を選択し、問題なく連動しているか確認してみましょう。

シート2をチェックした場合

「シート2のチェックボックス」を確認してみると、「シート1のチェックボックス」と連動して自動的にチェックが入っています。

ちなみに今回紹介した方法では、2つのチェックボックスに相互に連動させることが出来るので「シート2のチェックボックス」にチェックを入れても、「シート1のチェックボックス」に自動的にチェックが入ります。

連動させて一括チェックする方法

エクセルで特定のチェックボックスにチェックを入れると、他のチェックボックスにも自動的に一括でチェックが入るように設定する方法をご紹介します。

設定にはマクロを使いますが、VBAに詳しくない方でも使えるようにソースコードを載せていますので、ぜひ活用してください。

開発タブを表示する方法

VBAを使うには、開発タブを表示させる必要があります。

開発タブの表示方法については、以下の記事をご参照ください。

複数のチェックボックスを連動させるマクロを組む方法

特定のチェックボックスにチェックを入れると、他のチェックボックスにも自動的に一括でチェックが入るようにマクロを設定する方法をご紹介します。

表を作成する

任意のエクセルファイルを開きます。

今回は、上の画像のような表を例に挙げて、B11セルのチェックボックスにチェックを入れたらB2セルからB9セルのチェックボックスに一括でチェックが入るようにマクロを組んでいきます。

チェックボックスを右クリック

リンクするセルの設定をします。

①「任意のチェックボックス(例:B2セルのチェックボックス)」を【右クリック】し、②【コントロールの書式設定】を選択します。

リンクするセルを設定する

「コントロールの書式設定」ダイアログボックスが表示されます。

①【コントロール】タブを選択します。

②「リンクするセル」に『任意のセル(例:C2)』を入力し、③【OK】ボタンを押します。

TRUEhが表示される

これでチェックボックスにチェックを入れた場合は「TRUE」と、先ほど「リンクするセル」に設定したセル(例:C2)に表示されるようになりました。

リンクするセルは、すべてのチェックボックスで設定しましょう。

すべてのチェックボックスに設定完了

すべてのチェックボックスでリンクするセルの設定をすると、上の画像のようになります。

ここでは、B3のセルのチェックボックスにはC3のセル、B4のセルのチェックボックスにはC4のセルというように同じ行内のセルをリンクするセルとして設定します。

右クリックする

B11のチェックボックスと、B2セルからB9セルのチェックボックスを連動させるためのマクロを作成します。

①「B11のチェックボックス」の上で【右クリック】し、②【マクロの登録】を選択します。

マクロの新規作成

「マクロの登録」ダイアログボックスが表示されます。

①「マクロ名」に『任意のマクロ名(例:All_Check)』を入力し、②【新規作成】ボタンを押します。

コードを入力

「Microsoft Visual Basic」の画面が開きます。

コードウィンドウに入力されている「Sub All_Check()」と「End Sub」の間に『下記のソースコード』を入力します。


 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

「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を押します。

マクロ有効ブックとして保存

「名前を付けて保存」ダイアログボックスが表示されます。

エクセルファイルをマクロ有効ブックとして保存します。マクロ有効ブックとして保存することで、先ほど入力したVBAのコードが正常に計算されます。

①「ファイルの種類」で【Excel マクロ有効ブック】を選択し、②【保存】ボタンを押します。

チェックを入れた場合

エクセルファイルに戻ります。

「B11セルのチェックボックス」に【チェック】を入れると、B2セルからB9セルのチェックボックスにも一括でチェックが入りました。

チェックを外した場合

試しに、「B11セルのチェックボックス」の【チェック】を外してみると、一括でチェックが外れました。

これで、エクセルで特定のチェックボックスにチェックを入れると、他のチェックボックスにも自動的に一括でチェックが入る設定が完了しました。

個別にチェックする

また、一括でチェックが入る設定をした後も上の画像のように、B2セルからB9セルのチェックボックスには個別にチェックを入れることが可能です。

チェックボックスを連動させない方法

チェックボックスにリンクするを設定しコピーすると、リンクするセルもコピーされてしまい、チェックボックスがすべて連動する場合があります。

オートフィルでコピーする

試しに、上の画像のような表とチェックボックスを作成して、リンクするセルを設定したチェックボックスをコピーしてみましょう。

リンクするセルは、上記の「エクセルのチェックボックスを連動する方法」セクションを参考に設定してください。

【リンクするセルを設定したチェックボックス(例:C3セルのチェックボックス)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。

チェックを外す

チェックボックスがコピーされました。

【任意のチェックボックス(例:C3セルのチェックボックス)】を選択し、チェックを外してみましょう。

全てチェックが外れてしまう

上の画像ようにリンクするセルを設定したチェックボックスをコピーするとリンクするセルごとコピーされるため、コピーしたすべてのチェックボックスのチェックが連動して外れてしまいました。

チェックボックスを連動させずに、別々のリンクするセルを設定したチェックボックスをコピーしたい場合はマクロを使うのがおすすめです。

マクロを使って、別々のセルとリンクするチェックボックスをコピーする方法については、以下の記事をご参照ください。

このページを見ている人におすすめの商品

[Excel チェックボックス]の関連記事

よろしければ参考にならなかった点をお聞かせください

CAPTCHA


Page Top