Excelでチェックボックスもどき
2008/04/14
通常Excelでチェックボックスを使いたい場合は、チェックボックスコントロールを配置してセルとリンクさせますが、大量にある場合は面倒ですし(そういう場合にこそVBAマクロの使いどころですが)、セルに連動して動いてくれるわけでもないですので使い勝手もいまいちです。
そこでチェックボックスとは違いますが、VBAマクロを使ってセル内でそれっぽい動作をさせる「チェックボックスもどき」を紹介します。
とりあえずExcelを起動したら、ツール→マクロ→Visual Basic Editor(Alt+F11)でVBAのエディタを開き、左上のプロジェクトの中の「チェックボックスもどき」を使いたいシート(例えばSheet1)のアイコンをダブルクリックして、開いたウインドウに以下のコードを貼り付けてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Value
Case “■”
Target.Value = “□”
Case “□”
Target.Value = “■”
End Select
End Sub
エディタの画面を閉じて、ワークシート上で「■」または「□」のみが入ったセルを作れば、ダブルクリックするたびに「■」と「□」が入れ替わります。ダブルクリックというのがちょっと面倒ですが、これをチェックボックス代わりに使うのが「チェックボックスもどき」です。
もちろん上のコードの「■」と「□」を変更すれば別の記号や文字も使えます。別のセルにIF関数を使って数値やTRUE/FALSEに置き換えたものを入れておけば集計にも使えるでしょう。
サンプルファイル

