• 締切済み

エクセル VBA

初歩的な質問ですいませんが、 複数のオプションボタンで、 同じアクションをするVBAはどのように書けばよいのでしょうか。 withEventによる クラスモジュールを使うほか方法はないのでしょうか。 使わなくても良い方法があれば、それもお願いします。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

> 複数のオプションボタンで、 > 同じアクションをするVBAはどのように書けばよいのでしょうか。 VBA には、VB6 のコントロール配列に相当する機能がありません。 したがって、ご質問のとおりクラスモジュールを使って擬似的に 実装するしかありません。 ただし、数個程度ならわざわざクラスを書くよりも、サブプロシージャ を Call した方が手っ取り早いです。 ....「同じアクション」の内容を具体的に補足してみては?

MrTakuya
質問者

お礼

お礼が遅くなってすいません。 ご回答ありがとうございました。どこかのHPにも書いてましたが、 VB6と同じ機能を与えれば、VBになってしまいますものね。 クラスモジュールでやっぱりやります。 ご指導ありがとうございました。

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

関連するQ&A

  • エクセル VBA

    初歩的な質問ですいません。 エクセルVBAについてです。 沢山のオプションボタンを作ってそのどれを押しても、 同じアクションをするプログラムはどう書けばよいのでしょうか。 たとえば1個ずつでは Private Sub OptionButton1_Click() と書けばよいと思うのですが、 複数のボタンに同じアクションをする場合が良くわからないので、 どなたかお願いします。

  • Access VBA標準モジュールについてです。

    Access VBA標準モジュールについてです。 現在、仕事上必要にかられAccessVBAを勉強中の初心者です。初歩的な質問で申し訳ありませんが、ご存知の方教えて下さい。 フォーム上のコマンドボタンを押した時に標準モジュールを作動させたいのですが、そんな方法はありますか?【クラスモジュールについての本は沢山あって何とか理解できつつありますが、標準モジュールに関しての記述があまり無い気がします。】 宜しくお願いします。

  • エクセルVBAでVBAの修正は出来るのでしょうか?

    エクセルVBAでVBAの修正は出来るのでしょうか? あるエクセルファイルにマクロを組み込んでいます(ユーザーフォームも使用)。 このエクセルファイルを複数個フォルダ内にコピーしています。 このコピーした全てのファイルのマクロの修正をVBAで出来ないかと考えています。 修正箇所はモジュール内のコード修正、モジュールの追加、既存のユーザーフォームにボタン等の追加等です。 エクセルは2003を使用しています。 どなたか教えてください。

  • Excel エクセル VBA

    シート上にボタンが5つあり、一部の処理は全て共通となっております。共通処理のコードが長いため修正があると全て治す必要があるためクラスモジュールで共通処理を呼び出すようにしたいです。クラスモジュールを使ったことがないので教えてください。 ボタンはActiveXコントロールを使用しています。

  • エクセルVBAのサイズについて

    エクセルファイル上にてVBAを記述したところ、 VBAのサイズが64Kを超えるようで、該当のVBAを保存する事ができません。 ただ、一時的に細かく作成したのですが、当初考えていたのは、1回コマンドボタンを押すと処理が完了するように想定していたのですが、現状のままでは、複数のコマンドボタンをそれぞれ押さないとできないと思われます。ちょっとその方法ですと面倒なので、ご質問です。 (当初は、マクロ1を作成したのですが、大きさの問題が生じたため、現状は便宜的にマクロ2・マクロ3という風に当初のマクロ1をわけて保存してあります) 1回の処理で同時に複数のマクロを実行する方法はあるのでしょうか? もしそのような方法があれば教えてください。 わかりづらい質問かもしれませんが宜しくお願いいたします。

  • Excel VBA:モジュールを複数のブックで共有するには

    お世話になります。 現在、Excel VBAで複数のプログラムを開発中なのですが、 ある程度 処理を共通化したいと思いまして、出来れば標準モジュールと クラスモジュールを別のブックに保存しておき、それを参照設定か何かで 取り込んで動作させたいと思っています。 でも、参照設定しようとしても何かの名称が重複しているらしいエラーが 表示され(しかも何が重複しているのか教えてくれない)、うまくいきません。 ちなみに、共有したいブックは移動する可能性もありますが、最悪、 サーバの固定的なフォルダに置いておくのでも可、と言われています。 (アドインでの取り込みは、この時点で不可能?) うまく(出来れば標準モジュールとクラスモジュールだけ)共有することは できないものでしょうか? 当方、VBの経験は そこそこあるのですが、VBAは 大して使ったことが無い状態です。 もしかしたら、単純にやり方を知らないだけかもしれないのですが、 知恵をお貸しいただければ有難いです。

  • Excel VBAでのコードの書き分け方

    Excel VBAについてご質問します。 プロジェクトの項目を見ると、 Sheet1 ThisWorkbook 標準モジュール などさまざまあると思います。 これらに対して、どこにコードを書いていくべきなのかがわかりません。 例えば、Sheet1にボタンを配置して、それがクリックされたときの動作についてはSheet1に書けばいいのだと思います。 ですが、いろんなシートのコード、フォームのコードなどから呼び出される関数はThisWorkbookか標準モジュールのどちらに書けばいいのか悩んでいます。 それ以外のケースも含めて、一般的にこういう風に使い分けをするというのがありましたら、ぜひ教えてください。 よろしくお願いいたします。

  • エクセルVBAについてです。

    マクロが何も組み込まれていないワークブックAの Thisworkbookに「Workbook_SheetActivate」 イベントを追加する方法を考えています。 マクロが組み込まれているワークブックBのモジュールを ワークブックAにコピーする方法は下記のサイトで見つける ことができました。 http://officetanaka.net/excel/vba/vbe/07.htm しかし、モジュールの追加はできても、Thisworkbookに 追加する方法はわかりませんでした。 何か良い方法はないでしょうか?

  • EXCEL VBAで

    VBA初心者です 簡単過ぎる質問で申し訳ありませんが 調べてみても分からなかったので質問さしてもらいます VBEの標準モジュール1で簡単なプログラムを作成しました デバッグツールバーから実行をすると プログラム通り、動作はしましたが・・・ VBE画面を閉じてからの、プログラムを実行する方法が分かりません 右上の×を押しの、プログラム実行です 作ったプログラムを動作しようと思って 開発→マクロを押しても、作ったマクロ名が表示されないです どのようにしたら、標準モジュールで作ったマクロが、表示されるようになりますか?

  • Excel VBA オプションボタンについての質問です。

    Excel VBA オプションボタンについての質問です。 以下コードで実行時エラー424 オブジェクトが必要です。 が発生して困っています。 Private Sub AB_optionClick()  MsgBox OptionButton3.Value End sub オプションボタンの利用方法がいまいち理解出来ていません。 アドバイスよろしくお願いいたします。m(_ _)m

専門家に質問してみよう