|
複数のオブジェクト(チェックボックス等)に対し類似の処理を行う場合、
どのように書くと良い感じかをご教示下さい。
このように書くと、vがVariant型なので、vの後に「.」を打ってもプロパティ一覧が表示(機能名なんでしたっけ?)されません。
Dim v As Variant
Dim chs As Variant
chs = Array(Sheet1.chechboxA, Sheet1.chechboxB, Sheet1.chechboxC)
For Each v In chs
Debug.Print v.Value
' chを使用する処理色々
Next
このように書くと、エラーになります。
Dim v As Variant
Dim ch As CheckBox
Dim chs As Variant
chs = Array(Sheet1.chechboxA, Sheet1.chechboxB, Sheet1.chechboxC)
For Each v In chs
ch = v ' エラーになる。 「set ch = v」でもエラー
Debug.Print ch.Value
' chを使用する処理色々
Next
・C言語で言うと「set ch = (CheckBox)v」的なことをしたいです。(キャスト)
・実際のプログラムは膨大で、一部分のサンプルを元に質問させて頂いています。
|
|