|
どのようなタイミングで判定したいのでしょーか ?
任意のタイミングで、配置している全てのチェックボックスの状態を判定
したいなら・・
Sub CheckB_Ck()
Dim CkB As CheckBox
For Each CkB In ActiveSheet.CheckBoxes
If CkB.Value = xlOn Then
MsgBox CkB.Name & " はチェックが付いています", 64
End If
Next
End Sub
一つのチェックボックスを弄ったとき、チェックが付いたか外れたかを
判定したいなら・・
まず配置したシートを開いて↓を一回実行して、全てのチェックボックスに
マクロを割り当てます。
Sub マクロ割り当て()
ActiveSheet.CheckBoxes.OnAction = "Get_Ck"
End Sub
↓呼び出し専用となるので、単独での実行は出来ないようにしています。
Sub Get_Ck()
Dim x As Variant
x = Application.Caller
If VarType(x) <> 8 Then Exit Sub
With ActiveSheet.CheckBoxes(x)
If .Value = xlOn Then
MsgBox .Name & " はチェックされました!", 64
Else
MsgBox .Name & " はチェックを外しました!", 48
End If
End With
End Sub
|
|