- ベストアンサー
マクロについて教えてください
現在複数のマクロを用いてエクセルデータの検証を行っています。 複数といっても2つなのですが 検索用マクロと、文字列着色マクロです。 二つを使ってなるべく正確に間違いや漏れがないように作業工程を考えているのですが、毎回ツールとかAlt+F8をするのが面倒になってきました。 そこで1つにできないかと思ったのですが 私はマクロにあまり詳しくなく、End Subの後に2つ目をコピーしただけでは End Sub の後にはコメントしか記入できません と出てしまいます。 2つをくっつけるには何かくっつけるコードがありますか? それとも2つの処理を一回のマクロで行わないといけないでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
プロシージャの中にプロシージャを入れ子にすることはできません。 下記はNGです。 Sub マクロA() Sub マクロB() End Sub End Sub 簡単には、下記のようにすればマクロAとマクロBを順番に実行できます。 Sub test() Call マクロA Call マクロB End Sub 余談です。 マクロはボタンに登録して実行することができます。 ショートカットキーを割り当てることもできます。
その他の回答 (3)
- xls88
- ベストアンサー率56% (669/1189)
追加です。 他ブックのマクロを実行する http://officetanaka.net/excel/vba/tips/tips09.htm
お礼
いろいろなやり方があるのですね。 大変勉強になりました。 もっと勉強したいと思います。 ありがとうございました。 助かりました。
- xls88
- ベストアンサー率56% (669/1189)
>回答番号:No.2 この回答への補足 マクロ名を記述します。 下記で、マクロAというのがマクロ名(プロシージャ名)になります。 Sub マクロA() 'プロシージャの始まり ・ ・処理 ・ End Sub 'プロシージャの終わり #hallo-2007さんへのご返信もよろしくお願いします。
- hallo-2007
- ベストアンサー率41% (888/2115)
>2つをくっつけるには何かくっつけるコードがありますか? Sub ボタン3_Click() Application.Run "ボタン1_Click" Application.Run "ボタン2_Click" End Sub のようなコードの記述のことでしょうか。 Application.Run "実行したいマクロ名"
補足
ご回答ありがとうございます。 えっと、ボタンというのがいまいちわからないのですが 登録しているマクロの名前を書いておくと 今作ったので2つとも動くようになるということでしょうか? 未熟者で申し訳ないです。
補足
またまたxls88様に回答を頂き、感謝に痛み入ります。 追記質問なのですが CallマクロA のマクロの部分は直接Subからの記述でいいのでしょうか? Dimからですか・・・ 無知で申し訳ないのですが ご教授いただけますでしょうか。