• ベストアンサー

Excel2010 VBA(マクロ) 同時に…

標準モジュール1を実行したときに、自動的に標準モジュール2も実行されるようにはできるのでしょうか。 今回私がしたいのが、以下の内容です。 標準モジュール1:一斉送信にて情報を発信(BASP21) 標準モジュール2:一斉送信で送った情報を簡潔にまとめたExcelファイルを特定のアドレスだけに送信 標準モジュールそれぞれは作成できるのですが、これを1つのボタンを押しただけで一度に行うようにしたいのです。 どなたかご教授くださいませ。

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

  • ベストアンサー
  • suz83238
  • ベストアンサー率30% (197/656)
回答No.2

標準モジュール1を Sub AAA 標準モジュール2を Sub BBB としたとき、ボタンのコードを Private Sub CommandButton1_Click() AAA BBB End Sub とすればいいと思うけど。

aizawanaoki
質問者

お礼

回答して頂きました皆様、お忙しい中ありがとうございました! 1番しっくりきたものをベストアンサーに致しました。 今後もどうぞよろしくお願い致します!

その他の回答 (2)

回答No.3

独立の長いコードは親を作って、そこから呼び出すのが素直でしょう。 長いコードの尻尾に次のプロシジャを呼び出す、リーダビりティの問題がある、と思います。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

いったいどんな具合にマクロを載せているのかイマイチ意味不明ですが。 手順: 1枚の標準モジュールにMacro1とMacro2を記載する。 つまりMacro1がEnd Subで終わった続きにSub Macro2 … End Subを記載する。 そのMacro1の最後にMacro2をMacro1から実行させる sub macro1()  msgbox "MACRO1"  macro2 end sub sub macro2()  msgbox "MACRO2" end sub

関連するQ&A

  • EXCEL2010 VBA シートモジュール

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

  • Excel2003 VBAでフォーム渡し

    Excel2003 VBAのフォームを標準モジュールに渡してコントロールできますか? フォームのコードから、標準モジュールにフォームを引数で渡して、操作したいと思っています。 フォームの操作で同じ処理が発生するので、標準モジュールで共通に使いたいのですが、思い通りにいきません。 ネットで調べたりしましたが、解決できずにこちらに質問させて頂きました。 よい方法をご存知の方がいらっしゃましたら、ご教授ください。 よろしくお願い致します。

  • excel2010でボタンが反応しなくなった?

    EXCEL2010でシート上に作成したボタンがある時期から反応しなくなりました。 原因がわかりません。 VBAエディタで開いて、実行(f5)すると実行できます。 どうしたら元に戻るか、どなたかわかる方、お願いします。  ・元に戻る…「Excelのシート上からボタンをクリックするだけで実行できるようになる」 1.処理自体は単純でシート上に作成したコマンドボタンをクリックすると   標準モジュールに記述したマクロを実行します。   Sheet1のコード (CommandButton1_Click)      Call [標準モジュールSubの名称]ItiranGet   ※1 VBAのコードを開いた状態で、上記のCall文、標準モジュールで      実行(F5)すると、実行できます。 2.マクロのセキュリティは、下記に設定しています。   すべてのマクロを有効にする よろしくお願いいたします。

  • Excel2007データをメールで送信

    Excel2007データをメールで送信したいのですが、ご教授頂けるとありがたいです。 現在は、BASP21を使ってVBAから送信を行っております。 ですが、メールりの件数や容量に応じて1分近い時間がかかる時もあります。 なのでVBAからOutlookを起動して送ることにしたのですが、objMAIL.SendのところでOutlookからメッセージ(プログラムによって電子メールが送信されようとしています。・・・)と表示され(許可)のボタンを押す必要があります。 VBAに他のプログラムをループさせている関係上、ここで止められると困るのです。 もちろん、myerrorで飛ばす作業もやっていますが、これだと肝心なメールは送れません。 結果的に、メールを送信する方法はなんでも良いのですが、BASP21のように送信が完了するまでマクロを実行するのではなく、他のアプリケーションやなにかに一瞬で渡すことが出来、送信が完了すれば助かるのですが・・・ なお、コマンドラインによるメール送信も試しましたが、送信完了まで一発で終わらせるのは困難なようで・・・ どうぞ、宜しくお願い致します。

  • BASP21を使って

    恐れいります。実はあまり詳しくないのですが・・・ BASP21を使ってメール転送を行うのは可能でしょうか。 たとえばですが、ACCESSでメールを取り込んで、データベースに登録されているアドレス宛に一斉送信・・ こんなのができると幸せなんですが。 自動で取り込んで自動で送信なんてことができるものなのか。 お知恵を拝借できれば。 よろしくお願いします。

  • EXCELのVBAについて

    エクセルのVBAでユーザーフォームに作ったテキストボックスに入力した値を、コマンドボタンによる「実行」とともに別に作った標準モジュールの変数として代入するにはどうすれば良いでしょうか? 具体的な流れは、 マクロ実行  ↓ ユーザーフォーム出現  ↓ テキストボックスに数字を代入→「実行」  ↓ 変数を代入された標準モジュールによる処理完了 というものです。 ご教授お待ちしております。

  • エクセル マクロについて

    自動マクロで作成したマクロのモジュールを コマンドボタンのコードに貼り付けたのですが 実行できません。 自動マクロからでは実行できるのですが。。。

  • よろしくお願いいたします。Excel2003で印刷等のマクロが入った5

    よろしくお願いいたします。Excel2003で印刷等のマクロが入った5MBほどファイルです。古いパソコンWin2000のExcel2003上では順調に稼働していました。それを新しいパソコンVista版office2007付・DELL STUDIO にExcel2003をインストールして実行したところ、印刷したいプレビューの画面にはなりますが、そこから印刷のボタンを押してデータが送信されているようなのですが、保留ドキュメント「ゼロ」のままで、印刷が実行されません。(先のファイルではマクロ以外に通常の範囲指定でのプレビューや印刷は行われています。)慌てているもので支離滅裂な表現お許し下さい。皆様のお力をお借りして原因理由をお教えいただければ幸いです。

  • VBAのアドインについて

    現在、エクセル2000を使用しています。  セルの”*”という文字をダブルクリックすると、ユーザーフォームが開き、テキストボックス内に文字を入力したらOK(コマンドボタン)を押すとセルにその文字が入ります。  コマンドボタンを実行すると、Call ○○○で標準モジュールのマクロを呼び出すようになっています。  このCallが10行くらい組んであり、それぞれの標準モジュールを呼び出しているのですが、ファイルが重たくなってしまいました。  この標準モジュールをアドイン化して使用できるのでしょうか?

  • ExcelVBAをどのブックでも使う

    お世話になっています。 今回、いろんなブックで使っているシートを最新のデータに入れ替えるVBAを作りました。 これをどのExcelのファイルを開いたときにも動くようにしたいのです。 (入れ替えたいシートの検索なども入っている) 今は特定のブックの標準モジュールになっていて、ユーザ設定でコマンドボタンにしてありますが、他のブックでそのボタンを実行しても、当然特定のブックを開いて実行してしまいます。 これはどのように保存?したら他のブックでも使えるのでしょうか? 他のブックに標準モジュールを作って、すべてに入れていくしかないのでしょうか? ご存知の方がいらっしゃったら、ご教授ください。

専門家に質問してみよう