11/14/2015

Excel。Macro。いちいち、入力欄を削除するのが面倒!そこで、マクロを使ってみよう03回


Excel。いちいち、入力欄を削除するのが面倒!そこで、マクロを使ってみよう03回

<VBAでメッセージボックス>


いちいち、単純な作業をやるのは面倒なので、
マクロを使って作業効率を上げようと書き始めましたこのシリーズ。

前回は、メニューからマクロを選択して実行するのは面倒なので、
ボタンにしてマクロを実行したほうが、楽じゃないのかな?

ということで、ボタンを作ってマクロを登録したところまで作りました。

ただ、この「データの消去」というボタン。

クリックすると、あっ という間に処理はしてくれるのですが、
間違えて押しても、実行しちゃうわけです。

そこで、今回は、間違えて押したときでも大丈夫なように、マクロを修正して、
ワンクッションいれて、マクロを実行できるようにしてみましょう。

さて、マクロを修正するには、VBEをつかって、マクロそのものである、VBAを修正する必要がありますので、VBEを起動してみましょう。

開発タブのマクロをクリックして、マクロダイアログボックスを表示しましょう。
変更修正したいマクロを選択して、編集ボタンをクリックしましょう。

すると、VBEが起動します。

VBAの構文そのものに関しては、いずれ書こうと思っている、
VBAのところで書くとして、今回は、加筆修正をしていきましょう。

Sub 消去()    これは、マクロ名ですね。
'
' 消去 Macro

    Sheets("請求書完成").Select
の前に下記の一行を追加します。

    If  MsgBox("実行しますか?", vbOKCancel) = vbOK  Then

と入力しましょう。

この文の意味は、メッセージボックスを表示させて、OKだったらば、実行そうでなければ、何もしないという、分岐の処理をすることが出来るようになります。

そして、最後の

End Sub

の前に
    End If
と入力しましょう。
これで、IF~END IFの間を実行する?しない?と選択できるようになりました。
では、上書き保存をして、VBEを閉じましょう。

それでは、マクロが登録されている【データの消去】ボタンをクリックしてみましょう。

なんと、マクロがすぐに実行されずに、メッセージボックスが登場しましたね。

そして、コメントの「実行しますか?」というのは、先程の
    If  MsgBox("実行しますか?", vbOKCancel) = vbOK  Then
の実行しますか?という文字が表示されているので、
この「実行しますか?」という文字を変更すれば、
オリジナルのメッセージボックスを作ることができます。

それでは、キャンセルボタンをクリックしてみましょう。

マクロは実行されませんでしたね。
これで、すぐに実行されることはなくなり、さらに作業の精度がアップしましたね。

では、もう一度ボタンをクリックして、今度はOKボタンをクリックしてみましょう。

今度は、マクロが実行されて、データが削除されましたね。

このように、せっかく作ったマクロをちょっとアレンジするだけで、便利になりますので、
ゆくゆくは、マクロ⇒VBAへとテクニックを習得していくといいですね。