現在、A列にチェックボックスをワークシート上に10個配置しています。
CheckBox1、CheckBox2、・・・、CheckBox10
B列に金額が入力されています。
ワークシート上にテキストボックスに配置しています。(合計金額表示用)
また、ワークシート上にマクロ実行ボタンを配置しています。
A B
□ 1,200
□ 1,500
□ 1,600
・・・・・・・・・
・・・・・・・・・
□ 2,200
チェックボックスにチェックを付け、マクロ実行ボタンを押すと、それに対応したB列の
金額の合計値をテキストボックスに表示させるようにしています。
Private Sub 合計確認Button_Click()
Dim N As Long
For N = 1 To 10
If OLEObjects("CheckBox" & N).Object.Value = True Then
msg = msg + Range("B" & N).Value
End If
Next
ActiveSheet.DrawingObjects("合計金額").Text = "¥ " & StrConv(Format(msg, "#,#00"), 4)
End Sub
これをマクロ実行ボタンではなく、チェックボックスにチェックを付けただけで
リアルタイムに金額の合計値をテキストボックスに表示したいです。
ただ、
Private Sub CheckBox1_Click()
・・・・・
End Sub
Private Sub CheckBox2_Click()
・・・・・
End Sub
・・・・・
・・・・・
Private Sub CheckBox10_Click()
・・・・・
End Sub
と、順次コードを作成すればできると思いますが、冗長になります。
任意のチェックボックスをクリックすれば、イベントが起こるコードがわかりません。
ワークシートの場合はchangeイベントがありますが・・・・。
説明が悪くてすみません。