• 締切済み

Excel エクセル VBA

watabe007の回答

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

>シート上にボタンが5つあり、一部の処理は全て共通となっております。 クラスを使わなくても Private Sub CommandButton1_Click() Call 共通処理("1") End Sub Private Sub CommandButton2_Click() Call 共通処理("2") End Sub Private Sub CommandButton3_Click() Call 共通処理("3") End Sub Private Sub CommandButton4_Click() Call 共通処理("4") End Sub Private Sub CommandButton5_Click() Call 共通処理("5") End Sub Private Sub 共通処理(n As Long) Select Case n Case "1" MsgBox "1のボタンを押したときの処理" Case "2" MsgBox "2のボタンを押したときの処理" Case "3" MsgBox "3のボタンを押したときの処理" Case "4" MsgBox "4のボタンを押したときの処理" Case "5" MsgBox "5のボタンを押したときの処理" End Select MsgBox "共通の処理" End Sub

関連するQ&A

  • excel vba です

    シートにActiveXコントロールでボタンを作りました そのボタン押下時、 標準モージュールにあるソースを直接呼出したいのですが、 ボタンとそのモジュールの割り当て方がわかりません 教えてください (1) sheet1 に CommandButton1 というボタンがあります (2) 標準モージュールにある、 Sub test() というモジュールを直接呼び出したい 普通にやると、Sheet1 に Private Sub CommandButton1_Click() というモジュールができてしまいます そこから、Sub test() をcall するのではなく、直接呼び出したいのです 教えてください、宜しくお願いします

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

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

  • Excel VBA 標準モジュールの整理?

    Excel2003を使用しています。 ある人が作成したファイルが数十人分、WEB上に保存してあり、マクロも数個含まれています。 マクロの内容は、シート上に配置されているボタンをクリックすることで印刷する書類(印刷範囲)を変更するといった簡単なものがほとんどなのですが、マクロの記録を何度もとりながらコードを書いたらしく、標準モジュールが20個もありましたが、空のモジュールのほうが多かったです。 また、マクロに判別しやすい名前が付いていないため、このボタンのコードは、どのモジュールに書かれているのかが分からないので、ひとつひとつ確認しながら、空のモジュールは削除し、同じシート上で行う処理は、同一のモジュール内にまとめるなどして、標準モジュールを整理しました。 上記のことを自分用に作成されているファイルで行いましたが、同じ部署内の分は私が管理するので、標準モジュールの内容(モジュールの数とコード)を私のファイルと同じようにしたいのですが、コピペのような簡単な方法はあるでしょうか? 質問内容が分かりづらくて申し訳ありませんが、よろしくお願いします。

  • EXCEL2010 VBA シートモジュール

    EXCEL2010でVBAを使用しています。 シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。 特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。 なのでシートモジュールにコードを入力しておくことができません。 処理の流れ 1.シートAでコマンドボタンをクリック 2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成 シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような 方法はないでしょうか?

  • エクセル2010のvbaとコマンドボタンについて

    vbaで押されたコマンドボタンの (ActiveXコントロールのイメージやラベルなど) 名前を取得することはできますか? ActiveControl.NameはSheets(1)をつけると オブジェクトは、このプロパティまたはメゾットをサポートしていません とエラーが出て、Sheets(1).を取るとオブジェクトが必要です とエラーが出て上手くいきません フォームコントロールのボタンは右クリックできないので ActiveXコントロールのコマンドボタンを使用しています 回答お願いします

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

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

  • エクセルVBA

    Office2007ユーザーです ActiveXコントロールのコマンドボタンをワークシート上に置いてマクロを動かす仕組みのものを多数運用しています. 複数のファイル,複数のPC端末で,このタイプのマクロが動かなくなる事象が最近になって多発しています. とりあえずActiveX以外の手段でマクロを制御するように作り変えて対応していますが,何か良い対処方法はないでしょうか?

  • Excelで『Microsoft Excel Objects』でのVBA

    こんにちわ。 早速ですが、Sheet1だけ他のBookでも使用する事があり、 Sheet1を移動した時に、VBAコードも一緒に移動させたいので、 『標準モジュール』ではなく、『Microsoft Excel Objects』の 「Sheet1(Sheet1)」部分にVBAコードを記入したいのですが、 他シートをデータを取得したりする処理が出来ません。 制約等あるのでしょうか? また、Sheet1を移動した時に、モジュールも一緒に移動させる事は 可能でしょうか? 宜しくお願いします。

  • VBAにていろいろ質問させてください

    VBAの処理です。 本来なら別々に質問しなければいけないのですが、 どれでも良いのでお分かりになるものを教えてください。 (1)複数のフォームを起動する場合、既にそのフォームが起動中であるとしる方法。またそのフォームを画面最前線に表示する方法。 (2)ExcelシートのコントロールにはLostFocusが使用できるのですが、VBAのActiveXコントロールにはありません。代替機能はありますか?(必須チェックなどしたいのですが) (3)フォームで[?]ボタンでヘルプを出力したいです。 [?]は閉じるボタンの横に配置できたのですが、 [?]に対する各コントロールのヘルプはどう設定すればよいのですか? すみません。どれでも良いので教えてください

  • Excel VBAについて

    2014年12月のWindows Updateで Office2010のマクロが動かなくなりました。 正確にはActiveXコントロールが反応しません。 対策として出ている MSForms.exdを消す 更新プログラムをアンインストールする 全て新しく貼り替える を試しても、結果は変わりませんでした。 何が原因なのでしょうか。 また、更新プログラムによってActiveXコントロールが使用できなくなったなどの 情報などがあれば教えて頂きたいです。 因みに、マクロ自体にバグがあるとかではないです。 また、開発環境はWindows7 Professional x64 です。