• ベストアンサー

EXCEL VBAの OLEObjectについて

EXCELでVBAを組んである処理をしているのですが、 EXCELのワークシート上にコントロールツールの OptionButtonをいくつか配置してあり、チェックのあるものを VBAのテーブルに入れて処理しようとしていますが、 ”実行時エラー1004 WorkSheetクラスのOLEObjectプロパティを取得できません。” というエラーが出てしまいます。 OLEObjectを使うのが初めてなので、初歩的なミスじゃないかと思います VBAの記述は以下のとおりです Sheets(ReferSheet).Select For i = 1 To 12 If Sheets(ReferSheet).OLEObjects("OptionButton" & i).Object.Value = True Then OpBt(i) = 1 End If Next どうかご指導お願いいたします。

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

OpBt(i) = 1 の部分、 ReferSheet の変数の値等不明な点はありますが、 コード自体には何の問題も見当たりません。 ので、エラーの原因はシートに配置したコントロールの方にあると思われます。 例えば、コントロールのOptionButton4だけないとか、そういう単純なことか、「ReferSheet」の変数に値が正しくはいっていないとかだと思われます。 新規のシートにオプションボタンを2つだけ配置し、アクティブにして、以下を実行してみてください 選択した方が、ダイアログで出ると思います。 これでエラーがないのであれば、コードの問題ではありません。 Sub macro() Dim i As Byte For i = 1 To 2 If ActiveSheet.OLEObjects("OptionButton" & i).Object.Value = True Then MsgBox i End If Next End Sub

viva123
質問者

お礼

すみません。 勘違いしていました・・・実はシート名が間違っていて それに気付き走らすと、実行しました どうもお騒がせ致しました 初めて使うというので、思いっきりOLEobjectのスペックが 間違っているとばかり・・・・ 早速のご解答本当にありがとうございました!

viva123
質問者

補足

デバッグをかけて ReferSheet にはちゃんと値は入っていますし、他の処理でも使用していて、そちらは動いています。 新規シートにご指示どおり配置し、macroを実行するときちんと ダイアログが出ました。 しかしコントロールのOptionButton1~12は間違いなく 登録されています。 何がいけないのでしょうか? すみません お手数をお掛けします・・・

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>WorkSheetクラスのOLEObjectプロパティを取得できません。” 1.[コントロールツールボックス]-[オプションボタン]   ではなく   [フェーム]-[オプションボタン]   を使っているのでは 2.製作中の追加、削除等で OptionButton名が OptionButton1~OptionButton12 と   揃っていないのでは Dim OpBt(1 To 12) Sub Test()   Dim i As Long   Sheets(ReferSheet).Select   For i = 1 To 12     If ActiveSheet.OLEObjects("OptionButton" & i).Object.Value = True Then      OpBt(i) = 1     End If   Next   '入力の確認   For i = 1 To 12     MsgBox "OptionButton" & i & " は、" & OpBt(i)   Next End Sub

viva123
質問者

お礼

すみません。 勘違いしていました・・・実はシート名が間違っていて それに気付き走らすと、実行しました どうもお騒がせ致しました 初めて使うというので、思いっきりOLEobjectのスペックが 間違っているとばかり・・・・ 早速のご解答本当にありがとうございました!

viva123
質問者

補足

コントロールツールボックスを使用しています コントロールもOptionButton1~OptionButton12と確認しましたが きちんと登録できています・・・ 何がいけないのでしょうか?すみません、お手数お掛けします・・・

関連するQ&A

専門家に質問してみよう