- 公開日:
- 更新日:
エクセルでセルをチェックボックスの代わりにする方法
「エクセルで大量にチェックボックスを作成したものの、動作がすごく重くなってしまった」という場合は、セルをチェックボックスの代わりに使用してみましょう。
本記事でご紹介するVBAコードを使用すれば、セルをダブルクリックするだけでチェックが付けられるようになります。
VBAというと何やら難しそうな響きですが、コピー&ペーストの簡単な作業で仕組みを作成できますのでご安心ください。
開発タブを表示する
「セルをクリックするとチェックが付く」という仕組みを作成するには、エクセルのVBAを使用します。
VBAを編集する場合は、開発タブを表示させる必要があります。
リボンに開発タブが見当たらない場合は、以下の手順を参考に開発タブを表示させましょう。
画面左上のファイルタブを選択します。
画面左下のオプションを選択します。
「Excel のオプション」ダイアログボックスが表示されます。
リボンのユーザー設定を選択し、「開発」にチェックを入れ、OKボタンを押します。
これで、エクセルのリボンに開発タブが表示されるようになりました。
セルをチェックボックスの代わりにするVBAコード
今回はエクセルのVBAを使用して、「B3~B6セルをダブルクリックすると、セルにチェックマークが表示される」という設定を行います。
フォントを「Wingdings2」に変更した後、大文字でPと入力するとチェックマークが表示されます。
そのため、ダブルクリックすることでPが入力されるように指定すれば、セルをチェックボックスのように使用できるという仕組みです。
セルをチェックボックスの代わりにするVBAコードは、以下の通りです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("B3:B6")) Is Nothing Then Exit Sub
Cancel = True
Dim Cell As Range
For Each Cell In Target.Cells
If Cell.Value = "P" Then
Cell.ClearContents
Else
Cell.Value = "P"
End If
Next
End Sub
コードの詳細については、以下の表をご覧ください。
チェックを付けたい範囲を変えたい場合、ダブルクリックではなく右クリックでチェックを付けたい場合など、用途に合わせたカスタマイズができます。
項目 | 説明 |
---|---|
Worksheet_BeforeDoubleClick | シート上でダブルクリックしたときに自動で処理を実行する Worksheet_BeforeRightClick:右クリックで処理を実行する |
Range | セルの範囲を指定する Range("B3:B6"):B3~B6セルを指定 Range("B3:B6,B8:B12"):B3~B6セルとB8~B12セルを指定 |
Cancel | Trueにすることで、Range範囲内の動作をキャンセルできる 「BeforeDoubleClick」を指定している場合、ダブルクリックでセルが編集モードにならなくなる 「BeforeRightClick」を指定している場合、右クリックでメニューが表示されなくなる |
Value | セルに値を代入する Value = "P":Range範囲内のセルにPと入力する |
エクセルでセルをチェックボックスの代わりにする方法
エクセルのVBAを使って、セルをチェックボックスの代わりにする方法を解説します。以下の手順に沿って進めていけば、セルをダブルクリックするだけでチェックマークを入れられるようになります。
セルをチェックボックス代わりにするには、チェックを入れたいセルのフォントを「Wingdings2」に変更する必要があります。一括でフォントを変更するため、チェックを入れたいセルの列番号(例:B列)を選択して列全体を選択します。
ホームタブ、フォントのプルダウン、Wingdings2の順に選択します。
フォントを変更できましたので、チェックが中央にくるように調整を行います。列全体を選択した状態のまま、上下中央揃え、中央揃えの順に選択します。
これで事前準備が完了しました。なお、列全体を選択して一括変更すると、上記のように一部の書式が崩れることがあります。フォントを変更したことで行の高さなども変わりますので、必要に応じて見た目を整えましょう。
表の修正が終わったら、シート名(例:チェックリスト)を右クリックし、コードの表示を選択します。
「Microsoft Visual Basic for Applications」が起動します。本記事「セルをチェックボックスの代わりにするVBAコード」セクションにあるコードをコピーし、白い画面にペーストします。
ファイルタブ、ファイルの上書き保存の順に選択します。
「Microsoft Excel」ダイアログボックスが表示されます。VBAを実行するにはマクロ有効ブックとして上書き保存する必要があるため、いいえボタンを押します。
「名前を付けて保存」ダイアログボックスが表示されます。保存先(例:ダウンロード)を選択し、ファイル名(例:チェックリスト)を入力します。ファイルの種類、Excel マクロ有効ブック (*.xlsm)の順に選択します。
保存ボタンを押します。
エクセルの編集画面に戻ります。今回は、B3~B6セルをチェックボックスの代わりとして使うように指定したため、試しにB3セルをダブルクリックしてみます。すると、セルの中央にチェックが表示されます。
もう一度B3セルをダブルクリックすると、チェックが消えます。ダブルクリックの操作で簡単にチェックを付けたり外したりできるため、セルをチェックボックス代わりに使いたい場合の参考にしてください。