• 締切済み

VBA のオプションボタンって・・・

教えて頂きたいのですが、 普通、オプションボタンってユーザーフォーム上に作成すると思いますが、訳があってsheet上に作りたいのです。 コントロールツールボックスで作成した直後はちゃんとマクロが走るのですが、一回セーブしてbookを閉じてからオプションボタンを押そうとするとマクロが走ってくれません。 自分で思うに、オプションボタンが画像として扱われている雰囲気がするのですが、ご存知の方がいらっしゃったら教えてください。よろしくお願い致します。

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.6

新規ブックの 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)
回答No.5

ちなみに Sub XXX() を実行するとマクロは動くの?

suginami1910
質問者

補足

はい、ちゃんと動きます。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

先にも書いたけど、同じシートに 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を置いてないなら、もうひとつ置くとどうなる?

suginami1910
質問者

補足

オプションボタンはいっぱいあります。ちなみに、21個でした。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

あの、、、 XXX ←これは別のシートにオートフィルターをかけるやつ    です。 じゃ書いてないのと同じだと思わない? まさかオプションボタンをシートにひとつしか置いてないとか?

suginami1910
質問者

補足

いや、同じようなのがいっぱいあったので 一つだけ書いたんですけど・・・ オートフィルターのは Sub XXX() '検索 XXX Windows("test.xls:1").Activate Selection.AutoFilter Field:=2,Criteria1:="=A*", Operator:=xlAnd End Sub っていう内容です。

全文を見る
すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Excelのバージョンは? OptionButton のどのイベントにどんな処理を書いているのでしょう?処理コードを載せてみては? Click に 書いているのか Change に書いているのかでも違いますし。

suginami1910
質問者

補足

お返事ありがとうございます。 バージョンはExcel2000です。 処理は、 OptionButton1 Click Private Sub OptionButton1_click() XXX ←これは別のシートにオートフィルターをかけるやつ    です。 End Sub って書いてます。 でも、マクロを割り当てても、当てなくても同様なことが起きてます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

 デザインモードのままになっているのでは?  コントロールツールボックスの三角定規のアイコンが凹んだ状態になっていれば、マクロは機能しないで、ダブルクリックでVBEの画面に飛ぶはずです。  三角定規のアイコンをOFFにすれば、通常のマクロが機能するはずです。

suginami1910
質問者

補足

早速の回答、ありがとうございます。 それは、確認したのですが、ちゃんと解除していました。 オプションボタンをクリックしても、点線で囲まれたりしないんです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルマクロのオプションボタンについて

     エクセルの1つのシート内で「オプションボタン」を6つ使用し、3択する 場所を2箇所作ろうとしたところ、6択が1箇所となってしまい困っています。 オプションボタン3つずつを独立させ、2組にするにはどのようにすればよいのでしょうか?  また「ツールバー」にある「フォーム」と「コントロールツールボックス」から 「オプションボタン」や「チェックボックス」を作成すると、それぞれどのような 違いがあるのでしょうか?  ちなみに私はコントロールボックスからオプションボタンを作成しています。  詳しい方、教えて頂けないでしょうか?よろしくお願いします。

  • エクセルのオプションボタンについて

    エクセルVBAの初心者です。 ブックAのSheet1にコントロールツールボックスよりオプションボタンを使って、OptionButton1にA室、OptionButton2にB室、OptionButton3にC室という名前をつけて作成しました。この3つのオプションボタンの内いずれかを選択した時に、別のブックBのSheet1のセルA1に転記したいのですが、VBAを使って転記をすることはできるでしょうか? 分かりにくい説明で申し訳ありませんが、宜しくお願い致します。

  • EXCELのオプションボタン

    ワークシートの各行に質問を書き、右端にオプションボタン(コントロールツールボックスではなくフォームのオプションボタンです)を貼り付けました。 質問項目によりはい・いいえの2択か、その他まである3択になります。 ところが行の高さがたりないせいか、オプションボタンを一番小さくして各行のボタンは、それぞれグループボックスで囲ったのですが、互いに影響しあってうまく働かないのです。 行の高さを大きくし(20くらい)グループボックスを上下に広げれば大丈夫です。 でもほんとうはもっと行の高さを低くしたいのです。(12くらいに)良い方法はないでしょうか?

  • EXCELのオプションボタンの使い方

    EXCELでアンケート用紙を作成しています。 択一式の設問にコントロールツールボックスの オプションボタンを使おうと考えています。 設問を複数作りたいのですが それぞれの設問に対しオプションボタンを 割り当てることができません。 つまり、sheet内のすべてオプションボタンのうち 1つしかチェックできません。 やりたいことは、 オプションボタンのグルーピングをして そのうち1つしか選べない様にして 他も同じようにグループ内でのみ択一に するようにしたいのですが どうしたらよいのでしょうか。 宜しく御願いします。

  • EXCELのオプションボタンの使い方

    EXCELのコントロールツールボックス内でのオプションボタンの使い方について質問があります。 例えば、A,B,Cをどれかひとつだけ選択できるオプションボタンを作成します。 その後、Aを選択したときのみ、アクティブになる(または選択できるようになる)オプションボタンを作成することはできるのでしょうか? オプションボタンに上位、下位を設定したいのです。 なお、上位がオプションボタンでなくてもかまいません。 チェックボックスでAを選択した場合のみ、オプションボタンを選択できるようになるとか・・・。 どなたか教えてください。 よろしくお願いします。

  • エクセルVBAマクロのオプションボタンについて

    オプションボタンのマクロに関して教えて下さい。 マクロのスキルレベルは、新しいマクロの記録を多用して、マクロを組むレベルです。 「表示-ツールバー-フォーム」から選ぶオプションボタンを使って、オプションボタンAが押されている場合とBが押されている場合で、処理を変えたいのですが、そのオプションボタンの値をどうやっても拾えません。 色々検索した結果、以下のマクロでできる気がしたのですが、駄目でした。 Private Sub OptionButton1_Click() オプション1 = True End Sub Private Sub OptionButton2_Click() オプション2 = True End Sub Sub オプションボタン() If オプション1 = True Then Range("a1") = 1 ElseIf オプション2 = True Then Range("a1") = 2 Else Range("a1") = 0 End If End Sub 作ったオプションボタンを右クリックしてマクロ登録を選ぶと、「オプション1_Click」となっているので、「OptionButton1_Click」を「オプション1_Click」に変えてみたのですが、やっぱり駄目でした。 ネットではユーザフォームを使ったマクロ例はあるのですが、そのまま使用するオプションボタンの例がありません。できればユーザフォームは使いたくありません。 ご存知の方がいらっしゃいましたら、教えて下さい。よろしくお願いします。

  • VBAでオプションボタンなどそれぞれの数を調べたい

    エクセル97です。 ワークシート上にテキストボックス、コンボボックス、オプションボタン、ラベルが配置されています。 すべて、ツールバーのフォームから出したものです。 これら全部の数をもとめるには Sub TEST() Dim x As Integer x = ActiveSheet.Shape.Count MsgBox x End Sub これで出てきますし、テキストボックスならshapesをTextboxes、ラベルならLabelsに変えればいいのですが、オプションボタンやコンボボックスの場合、どう変えれば良いのかわかりません。教えてください。特にオプションボタンは数が多くて困っています。

  • エクセルVBA ユーザーフォーム追加オプション表示

    皆さんこんにちは。 エクセル2013を使用しています。 エクセルのユーザーフォームを半分、非表示/表示って出来ますか? 印刷設定画面などでフォーム上に〇の中に「>」マークのボタンが載っていて そのボタンを押すとフォームが右にびよ~んと伸びて 追加オプションが表示される・・・ っていうのをたまに見るんですけど それをエクセルのユーザーフォームでも出来るのでしょうか。 これが出来るなら、とあるオプションボタンを押した時だけ 追加オプションが表示されるVBAが出来るな、と企んでいるのですが 検索の仕方が悪いのか、ネット上で該当するものが見つかりません。 VisualBasic画面のツールボックスにもそのようなボタンがないので ひょっとしたらコントロールの追加ダイアログで対応すれば 出来るのかしら?と思うのですが あの〇の中に「>」のマークの名称も分からず つまづいております。 うまく説明出来ずに申し訳ないのですが あのびよ~んと伸びるユーザーフォームが出来るのであれば どなたかご教示いただけないでしょうか。

  • コマンドボタン

    よくわからないのですが エクセルのコントロールツールボックスのコマンドボタンだとイベントはたくさんあるけど、 フォームのコマンドボタンだとクリックボタンしかないのですか? フォームのコントロールはコントロールツールボックスの劣化版と言う感じですか? 添付画像の事です。

  • VBA シートのボタン名を変更したい

    こんにちは。 Excelのマクロを作成しているのですが、 ユーザーフォームではなく、 シートにあるフォームのボタンの名前を変更したいのです。 どうしたら変更できるのでしょうか。 わかるかたいらっしゃいましたら、教えてください。 よろしくお願いします。

専門家に質問してみよう