- ベストアンサー
複数のマクロを条件付きで実行する方法
- 会社でエクセル2003を使っている場合、複数のマクロを条件付きで実行する方法を知りたいです。
- 縦にデータを入力する表を作成し、データを別シートに転記して印刷するマクロを作りました。
- もう一つのマクロでは、未入力のセルがあればメッセージボックスで知らせ、データを入力するまで同じシートに留まり、未入力がなければ別シートに移動します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>教えていただいたコードを実行してみますと、未入力があっても別シートへ移ってしまいます。 ということは、回答したのとは何か違うマクロで、勝手に回答したのとは別の事をしています。 では 1.マクロは次に変更し実行する sub 印刷前点検と印刷() worksheets("Sheet1").activate if range("A1") = "" then msgbox "A1が未入力です" end end if if range("A2") = "" then msgbox "郵便番号が未入力です" end end if if range("A3") = "" then msgbox "A3が未入力です" end end if msgbox "全てのデータが記入されました" & vblf & "シート2を印刷します" worksheets("Sheet2").printout end sub 2.他のマクロはすべて停止する とします。
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
ALT+F11を押す 挿入メニューから標準モジュールを挿入する 下記をコピー貼り付ける sub 印刷前点検と印刷() worksheets("Sheet1").activate if range("A1") = "" then msgbox "A1が未入力です" exit sub end if if range("A2") = "" then msgbox "郵便番号が未入力です" exit sub end if if range("A3") = "" then msgbox "A3が未入力です" exit sub end if msgbox "全てのデータが記入されました" & vblf & "シート2を印刷します" worksheets("Sheet2").printout end sub マクロを実行する。
補足
早速のアドバイスありがとうございます。 教えていただいたコードを実行してみますと、未入力があっても別シートへ移ってしまいます。 私としては、未入力セルがあるときはメッセージボックスで「未入力があります」と知らせて、シートは移動せずデータを入力し、その後再度クリックして未入力のセルがなければ別シートへ移動する。という形にしたいのですが… そのような条件は可能でしょうか?
お礼
ありがとうございます。 補足の質問をさせていただいていたのですが、keithinさんのおかげで何とか形になりました。 本当にありがとうございました。
補足
何度もすいません。 「ど素人でマクロに手を出すな」と思われるかもしれませんが… コピーして貼り付けているのですが…どうしてもだめなんです。 >2.他のマクロはすべて停止する と書いていただいているのですが、停止するというのはどの様にすればいいのでしょうか? 本当にすいません