Microsoft 製品に組み込まれている Visual Basic の実装。
> ActiveSheet.CheckBoxes(1)
この場合の CheckBoxes は、Excel.Worksheet オブジェクトの非表示メソッドです。
また、フォームコントロールのチェックボックスを意味する
Excel.CheckBox オブジェクトや、それらのコレクションである
Excel.CheckBoxes オブジェクトは Excel の非表示メンバーです。
・引数 Index を指定した場合は、そのワークシート上に
配置された 1 つの Excel.CheckBox オブジェクトを返す。
Index には、そのチェックボックスの番号(最小値 1 )を示す任意の整数か、
そのチェックボックスの名前を示す任意の文字列のいずれかを渡すことが出来る。
Private Sub Test1()
Dim ws As Excel.Worksheet
Set ws = Worksheets(1)
Dim chb As Excel.CheckBox
Set chb = ws.CheckBoxes(1)
Debug.Print "ワークシート[" & ws.Name & "]上に配置されている " & _
chb.Index & " 番目のチェックボックス(フォームコントロール)の名前は" & _
"[" & chb.Name & "]です。"
Set chb = Nothing
Set ws = Nothing
End Sub
・引数 Index の指定を省略した場合は、そのワークシート上に
配置された全てのチェックボックスのコレクションである
Excel.CheckBoxes オブジェクトを返す。
Private Sub Test2()
Dim ws As Excel.Worksheet
Set ws = Worksheets(1)
Dim chbxs As Excel.CheckBoxes
Set chbxs = ws.CheckBoxes
Debug.Print "ワークシート[" & ws.Name & "]上に配置されている" & _
"チェックボックス(フォームコントロール)の数は " & _
chbxs.Count & " 個です。"
If chbxs.Count = 0 Then
Set chbxs = Nothing
Set ws = Nothing
Exit Sub
End If
Debug.Print "全てのチェックボックスの番号と名前を列挙します。"
Dim chb As Excel.CheckBox
For Each chb In chbxs
Debug.Print chb.Index & vbTab & chb.Name
Next
Set chbxs = Nothing
Set ws = Nothing
End Sub