エクセルのVBAについての質問です。 初心者なのであまりわかっていません。

補足

申し訳ありません。書き忘れていましたが、ユーザーフォームのチェックボックスなのですが同じことなのでしょうか? また、Me.Controls("CELL" & CStr(i)) の書き方はチェックボックスからセルへ結果を反映させる際には使えたのですが、逆は使えないのでしょうか?

Excel99閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

回答ありがとうございます。 CELLに関してはエクセルのセルとは違う意味でのセルでつけてました。 紛らわしくて申し訳ありません。 ja7awuさんのようにやってみたのですが、 With Me.Controls("CELL" & i) この部分がハイライトされ、 実行時エラー’-2147024809(80070057)’ 指定されたオブジェクトは見つかりません。 となってしまいます。 他の関数で Me.Controls("CELL" & CStr(i)) が、正常に作動しているのでオブジェクト名などは合っていると思うのですが・・・ 他に考えられる可能性はありますでしょうか??

ThanksImg質問者からのお礼コメント

助かりました! 回答ありがとうございます!

お礼日時:2015/7/13 17:39

その他の回答(1件)

0

WorkSheetにエンベッドされた、ActiveXのコントロールは、直接オブジェクト名で取得するようです。 ActiveSheet.CheckBox1.Value=True なので、次の例では、チェックボックスが5個ですが、配列にオブジェクトを格納して、変数で切り替えてみました。 Sub sample() Dim cb As Variant Dim i As Long With ActiveSheet cb = Array(.CheckBox1, .CheckBox2, .CheckBox3, .CheckBox4, .CheckBox5) End With For i = 1 To 5 cb(i - 1).Value = False If Cells(5, i).Value = "○" Then cb(i - 1).Value = True End If Next i End Sub