Excelでチェックボックスもどき

通常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

下のような画面になればOKです。
VBE画面

エディタの画面を閉じて、ワークシート上で「■」または「□」のみが入ったセルを作れば、ダブルクリックするたびに「■」と「□」が入れ替わります。ダブルクリックというのがちょっと面倒ですが、これをチェックボックス代わりに使うのが「チェックボックスもどき」です。
もちろん上のコードの「■」と「□」を変更すれば別の記号や文字も使えます。別のセルにIF関数を使って数値やTRUE/FALSEに置き換えたものを入れておけば集計にも使えるでしょう。

Excel画面

サンプルファイル

chkboxsamp.lzh


    サイト内検索

    プロフィール

  • 顔絵
  • kotani(こたに)

    30台後半になって突然脱サラ。フリーのスクリプト系プログラマーとして独立を目論む謎のおやぢ。東京都在住。趣味は古本屋巡り、文具いぢり、機械いぢり、B級グルメ探索等々多岐にわたる。PCを使う作業に関しては何でもかんでも自動化したがる自動化オタク。