• ベストアンサー

チェックボックスの判定

VBAでチェックボックスが10個あったとして、チェックが付いているか確認したいのですが、 For i=0 to 9 if CheckBox & i =True then 処理 End if Next i と記述すると CheckBoxのところで「変数が定義されていません」というエラーメッセージが出ます。 このような判定はどうすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

>VBAでチェックボックスが10個 コントロールの名前を変数として用いるのであれば、Controlsを使います。 標準でしたら添え字は1から始まるのでiは初期値1ではないでしょうか。 0~9に変更されているのであればご提示の「i = 0 to 9」で置き換えてください。 For i = 1 to 10   If Controls("CheckBox" & i) = True Then     処理   End if Next i http://www.moug.net/tech/exvba/0140013.html

その他の回答 (1)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.2

No1です。 文章がおかしいですね。 >>標準でしたら添え字は1から始まるのでiは初期値1ではないでしょうか。 標準でしたら、コントロールに付く添え字は1から始まる連番となります。 コントロールのオブジェクト名は「CheckBox1~10」ではないでしょうか? 訂正いたします。

関連するQ&A