- 締切済み
VBA のオプションボタンって・・・
教えて頂きたいのですが、 普通、オプションボタンってユーザーフォーム上に作成すると思いますが、訳があってsheet上に作りたいのです。 コントロールツールボックスで作成した直後はちゃんとマクロが走るのですが、一回セーブしてbookを閉じてからオプションボタンを押そうとするとマクロが走ってくれません。 自分で思うに、オプションボタンが画像として扱われている雰囲気がするのですが、ご存知の方がいらっしゃったら教えてください。よろしくお願い致します。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- papayuka
- ベストアンサー率45% (1388/3066)
新規ブックの Sheet1 にでも OptionButton を2つ置いて、Clickイベントに下記のように書いてもメッセージが出ない? Private Sub OptionButton1_Click() Call XXX(OptionButton1) End Sub Private Sub OptionButton2_Click() Call XXX(OptionButton2) End Sub Sub XXX(myObj As Object) MsgBox myObj.Name End Sub
- papayuka
- ベストアンサー率45% (1388/3066)
ちなみに Sub XXX() を実行するとマクロは動くの?
- papayuka
- ベストアンサー率45% (1388/3066)
先にも書いたけど、同じシートに OptionButton は いくつ置いてありますか? OptionButton の Click は Change が呼ばれてから 呼ばれるようで、OptionButton が一つしかないと、Change も Click も呼ばれないみたいですが、、、 Private Sub OptionButton1_Click() MsgBox "OptionButton1_Click" End Sub Private Sub OptionButton1_Change() MsgBox "OptionButton1_Change" End Sub ひとつしかOptionButtonを置いてないなら、もうひとつ置くとどうなる?
補足
オプションボタンはいっぱいあります。ちなみに、21個でした。
- papayuka
- ベストアンサー率45% (1388/3066)
あの、、、 XXX ←これは別のシートにオートフィルターをかけるやつ です。 じゃ書いてないのと同じだと思わない? まさかオプションボタンをシートにひとつしか置いてないとか?
補足
いや、同じようなのがいっぱいあったので 一つだけ書いたんですけど・・・ オートフィルターのは Sub XXX() '検索 XXX Windows("test.xls:1").Activate Selection.AutoFilter Field:=2,Criteria1:="=A*", Operator:=xlAnd End Sub っていう内容です。
- papayuka
- ベストアンサー率45% (1388/3066)
Excelのバージョンは? OptionButton のどのイベントにどんな処理を書いているのでしょう?処理コードを載せてみては? Click に 書いているのか Change に書いているのかでも違いますし。
補足
お返事ありがとうございます。 バージョンはExcel2000です。 処理は、 OptionButton1 Click Private Sub OptionButton1_click() XXX ←これは別のシートにオートフィルターをかけるやつ です。 End Sub って書いてます。 でも、マクロを割り当てても、当てなくても同様なことが起きてます。
- toshihiko_ooishi
- ベストアンサー率33% (175/520)
デザインモードのままになっているのでは? コントロールツールボックスの三角定規のアイコンが凹んだ状態になっていれば、マクロは機能しないで、ダブルクリックでVBEの画面に飛ぶはずです。 三角定規のアイコンをOFFにすれば、通常のマクロが機能するはずです。
補足
早速の回答、ありがとうございます。 それは、確認したのですが、ちゃんと解除していました。 オプションボタンをクリックしても、点線で囲まれたりしないんです。
補足
はい、ちゃんと動きます。