Excelマクロでメッセージを表示する方法を確認します。
書式
MsgBox “文字”,ボタンの種類,”タイトル”
helpfileなどさらに詳細を指定することもできますが、今回は割愛します。
MsgBoxでメッセージを表示する
1 2 3 |
Sub msg() MsgBox "メッセージ", vbOKOnly, "タイトル" End Sub |
実行結果です。
ボタンの種類
メッセージを表示する際、表示させるボタンは複数用意されています。
いくつか例を挙げます。
vbOKOnly:OKボタン
vbOKCansel:OKとキャンセルボタン
vbYesNoCancel:はい、いいえ、キャンセルボタン
vbYesNo:はい、いいえボタン
どのボタンを押したか把握する(戻り値の取得)
ユーザーがOKとキャンセルボタンを押した場合に処理を分岐させます。
1 2 3 4 5 6 7 8 9 10 |
Sub rtn() Dim rtn As Long rtn = MsgBox("メッセージ", 1, "タイトル") If rtn = 1 Then MsgBox ("OKが押されました。") ElseIf rtn = 2 Then MsgBox ("キャンセルが押されました。") End If End Sub |
実行結果
OKを押した場合
キャンセルを押した場合
ボタンに応じて戻り値を取得し、処理を分岐させることができる
マクロの実行中、状況に応じてマクロの実行を継続するか中断するか判断する必要が出てくることもあるかもしれません。
その時に、ユーザーがはい、いいえのどちらかを押したかによってその後の処理を変える必要があります。
そのためには、ユーザがはい、いいえのどちらを押したかを知る必要があります。
MsgBox関数には、ボタンの種類に応じて数字が割り当てられており、これを戻り値と言います。
戻り値を取得することでユーザーがはい、いいえのどちらを押したかがわかり、続く処理も状況に応じて分岐させることができます。
戻り値の種類
vbOK:1
vbCancel:2
vbAbort(中止):3
vbRetry(再試行):4
vbIgnore(無視):5
vbYes:6
vbNo:7
まとめ
- Msgbox関数でメッセージを表示することができます。
- 押したボタンによって戻り値が決まっています。
- 戻り値を使うことでその後の処理に用いることができます。
体型的に知識を身に着けるなら
Excel VBAについて、体系的に知識を身に着けていきたいなら、こちらの本がお勧めです。私もこの記事を書いている今、手元に置いていつでも読めるようにしています。
どれほど複雑で大量の処理を行うマクロがあったとしても、一つ一つの小さな処理の積み重ねによって構成されています。
マクロを組むためには、その一つ一つの小さな処理を実行するための方法を知らなければなりません。
VBAのルールや使い方について、一歩ずつ理解して使えるようになることで、複雑で大規模なマクロを組むことができるようになります。
こちらの書籍を使うことですぐに業務効率化につながるマクロを組むことはできないかもしれませんが、こちらの書籍がないと効率化させる範囲は限られてくるでしょう。
Kindle版でも販売しているので、スマホアプリ、タブレット、PCからでも自由に読むことができます。
実際にマクロを組むなら
簡単な機能だけで良いからとにかく自分で組んでみたい。自動化が早急に必要な業務があり、とにかく早く作りたいというはこちらの本がお勧めです。
自動化するために必要な処理をするには、何が必要か、逆引きで教えてくれます。
VBA以外の分野で学習を続けていくなら
本を読み、実践を繰り返す中で知識と技術を身に着けていくことこそが、私たちの目的を達成する数少ない手段です。
どのような目的があるにせよ、達成するための手段に大きな違いはありません。
時間とお金が限られている中で、効率的に体系的立てて情報を得るためには、本を安価で入手できること、その本が自分に合っているかすぐに判断できることが必要です。
Amazonが提供するKindle Unlimitedはそのどちらの条件も満たしています。
月額1000円程度で、200万冊以上の本が読み放題になります。
試し読みは書店にいってパラパラと立ち読みしてみないとできません。
それが嫌ならレビューや概要を読んで購入するしかありませんが、読みづらい本であったり、自分が読みたい・知りたい内容とは異なる場合は返品するにも大変です。
しかし、Kindle Unlimitedなら、気になる本をダウンロードして読んでみる。合わなければすぐに次の本を読んでみる。といった選び方ができます。
この記事で紹介した2冊目の本はこのKindle Unlimitedの対象です。(2020年12月)VBAを活用する方法を調べているのですから、VBAを使いこなせるようになったら、また別の分野について学習を始めるのでしょう。
そう考えれば、Kindle Unlimitedは決して悪い選択肢ではありません。
ぜひ活用していきましょう。
コメント