Excelでチェックボックスを一括操作するマクロ

Excelでチェックシートを作るケースはあると思います。チェックボックスが大量にあるとチェック作業が面倒です。
複数のチェックボックスを一括してチェックできる方法を考えました。
なお、ここでは開発タブから挿入するフォームではなく、チェックボックスを表す文字を使用しています。Excel2013で確認しました。

準備(マクロ)

VBエディターを開く。※ExcelでAlt+F11など。
プロジェクトエクスプローラーで該当のシートを選択。※ダブルクリック。
コードを貼り付け。

準備(シート)

該当のシートのセルにチェックボックスを使った文字列をセットします。
チェックボックスは次の文字を使います。チェックボックスは一つのセルに一つだけです。「☐はい」というようにラベル(文字列)を付けることができます。
☐ (&H2610)
☑ (&H2611)

コード

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  str_off = ChrW(&H2610)
  str_on = ChrW(&H2611)
  For Each x In Target
    If InStr(x.Value, str_on) > 0 Then
      x.Value = Replace(x.Value, str_on, str_off)
    ElseIf InStr(x.Value, str_off) > 0 Then
      x.Value = Replace(x.Value, str_off, str_on)
    End If
  Next x
End Sub

使い方

チェックボックスの入ったセルを選択するとチェックをオン、オフできます。
複数のセルを選択することもできます。

コメント

タイトルとURLをコピーしました