エクセルマクロで、チェックボックスのセル番地を取得するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
チェックボックスのセル番地を取得
以下のマクロを実行すると、チェックボックスがあるセルを取得します。
Sub チェックボックスのセル番地取得()
Dim cb As checkbox
Dim Buf As String
'チェックボックスをループ
For Each cb In ActiveSheet.CheckBoxes
'セル番地を格納
Buf = Buf + cb.TopLeftCell.Address & vbCrLf
Next cb
MsgBox Buf
End Sub
マクロ実行後
チェックボックスが存在しているセルを、
メッセージボックスに表示します。
チェックボックスのオブジェクトの左上部分が「どのセルに存在しているか?」で
取得するセル番地が決まります。
チェックボックスのセル番地を取得(オンのセル番地取得)
以下のマクロを実行すると、チェックボックスがあるセルを取得します。
Sub チェックボックスのセル位置格納()
Dim cb As checkbox
Dim Buf As String
'チェックボックスをループ
For Each cb In ActiveSheet.CheckBoxes
If cb.Value = xlOn Then
'セル番地を取得
Buf = Buf + cb.TopLeftCell.Address & vbCrLf
End If
Next cb
MsgBox Buf
End Sub
マクロ実行後
チェックボックスがオンになっているセルの位置を、
メッセージボックスに表示します。
チェックボックスのセル番地を取得(クリックしたセル番地取得)
以下のマクロを実行すると、チェックボックスのセル番地を取得します。
Sub クリックしたチェックボックスのセル番地()
Dim a As String
'クリックしたチェックボックスのセル番地取得
a = ActiveSheet.CheckBoxes(Application.Caller).TopLeftCell.Address
MsgBox a
End Sub
マクロ実行後
クリックしたチェックボックスの番地を、
メッセージボックスに表示します。
セル番地を表示したいチェックボックス1つ1つに、
マクロを登録する必要があります。
クリックしたチェックボックスのオブジェクトの左上端が、
収まっているセル番地を取得しています。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】チェックボックス処理を自動化まとめ
【エクセルマクロ】チェックボックスを自動操作:使用例16選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク