エクセルマクロで、チェックボックスを一括で集計するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
チェックボックスを一括集計(合計算出)
以下のマクロを実行すると、チェックボックスでレ点を入れたものだけ集計します。
Sub チェックボックスのチェックをいれたものだけ合計()
Dim cb As checkbox
Dim i As Long
Dim Buf As Long
i = 2
Buf = 0
'チェックボックスをループ
For Each cb In ActiveSheet.CheckBoxes
'チェックボックスがオンだったら
If cb.Value = xlOn Then
'数値を加算
Buf = Buf + Cells(i, 2).Value
End If
i = i + 1
Next cb
'集計結果を入力
Cells(2, 6) = Buf
End Sub
チェックボックスがONになっている数字の合計を表示しました。
チェックボックスを一括集計(合計算出:リンクするセル)
以下のマクロを実行すると、チェックボックスで選択したところだけ計算します。
Sub チェックボックスのチェックを入れたところだけ足す()
Dim i As Long
Dim LastRow As Long
Dim Buf As Long
Buf = 0
'A列の最終行を取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
'ループ
For i = 2 To LastRow
'D列がTRUEだったら
If Cells(i, 4) = True Then
'数値を加算
Buf = Buf + Cells(i, 2).Value
End If
Next
'集計結果を入力
Cells(2, 6) = Buf
End Sub
D列が「TRUE」になっている数値を加算して表示しました。
すべてのチェックボックスに「リンクするセル」を設定しています。
チェックボックスを一括集計(個数:リンクするセル)
以下のマクロを実行すると、配置しているチェックボックスの個数を集計します。
Sub チェックボックスをカウント()
Dim cb As checkbox
Dim cb_cnt As Long
Dim on_cnt As Long
Dim off_cnt As Long
cb_cnt = 0
on_cnt = 0
off_cnt = 0
'チェックボックスをループ
For Each cb In ActiveSheet.CheckBoxes
'チェックボックスの個数をかぞえる
cb_cnt = cb_cnt + 1
'チェックボックスの状態確認
If cb.Value = xlOn Then
'チェックボックスがオンを集計
on_cnt = on_cnt + 1
Else
'チェックボックスがオフを集計
off_cnt = off_cnt + 1
End If
Next cb
'集計結果を入力
Range("G1") = cb_cnt
Range("G2") = on_cnt
Range("G3") = off_cnt
End Sub
シート内にあるチェックボックスの個数、ONの個数、OFFの個数をカウントして、
セルに表示します。
すべてのチェックボックスに「リンクするセル」を設定しています。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】チェックボックス処理を自動化まとめ
【エクセルマクロ】チェックボックスを自動操作:使用例16選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク