ビデオ: PCプログラミング講座 エクセルVBA初級第3回 2024
VBAボタン引数の柔軟性により、Excelメッセージボックスを簡単にカスタマイズできます。表示するボタンを選択したり、アイコンが表示されているかどうかを判断したり、デフォルトのボタンを選択することができます(ユーザがEnterを押した場合、デフォルトのボタンは「クリック」されます)。
buttons引数には組み込み定数を使用できます。あなたが好きなら、定数ではなく値を使うことができます(組み込みの定数を使う方がはるかに簡単です)。
<! - 1 - >複数の定数を引数として使用するには、+演算子で接続します。たとえば、YesおよびNoボタンと感嘆符のアイコンを含むメッセージボックスを表示するには、次の式を2番目のMsgBox引数として使用します。
vbYesNo + vbExclamation
または、コードをわかりにくくする場合は、値52(つまり4 + 48)です。
次の例では、定数の組み合わせを使用して、はいボタンといいえボタン(vbYesNo)と疑問符(vbQuestion)アイコンを含むメッセージボックスを表示します。定数vbDefaultButton2は、2番目のボタン(No)をデフォルトのボタン、つまりユーザがEnterを押したときにクリックされるボタンとして指定します。簡単にするために、これらの定数はConfig変数に割り当てられ、MsgBox関数の2番目の引数としてConfigを使用します。
<! (月)レポートを処理しますか? "、Config)Ans = vbYes If Then RunReport End SubGetAnswer3プロシージャを実行すると、Excelが表示するメッセージボックスを確認します。ユーザーが「はい」ボタンをクリックすると、ルーチンはRunReportというプロシージャーを実行します。ユーザが「いいえ」ボタンをクリックする(またはEnterを押す)と、ルーチンは何もしないで終了する。 title引数はMsgBox関数では省略されているため、Excelでは既定のタイトルであるMicrosoft Excelが使用されます。
<! - 3 - >
MsgBox関数のbuttons引数は、メッセージボックスに表示される内容を決定します。 MsgBox関数を使用する別の例を次に示します。Sub GetAnswer4()Dim Msg As String、Title As String Integer、Ans As Integer Msg = "月次レポートを処理しますか? "Msg = Msg&vbNewLine&vbNewLine Msg = Msg&"月間レポートを処理すると、 "Msg = Msg&"に約15分かかります。 "Msg = Msg&"は、現在の "Msg = Msg&"月の "Msg = Msg&"のすべての営業所に30ページのレポートを生成します。 "タイトル=" XYZマーケティング会社 "Config = vbYesNo + vbQuestion Ans = MsgBox(Msg、Config、Title)Ans = vbYes Then RunReport End Sub
この例は、メッセージボックスに長いメッセージを指定する効率的な方法を示しています。変数(Msg)と連結演算子(&)は、一連のステートメントでメッセージを構築するために使用されます。 vbNewLine定数は、改行文字を挿入します(空行を挿入するために2回使用します)。 title引数は、メッセージボックスに異なるタイトルを表示するために使用されます。この手順を実行すると、Excelが表示するメッセージボックスがあります。
このダイアログボックスは、MsgBox関数によって表示され、タイトル、アイコン、および2つのボタンを表示します。
MsgBox関数の戻り値には定数(vbYesやvbNoなど)を使用できます。ここにいくつかの他の定数があります。定数
値 | 意味 vbOK | 1 |
---|---|---|
ユーザーが[OK]をクリックしました。 | vbCancel | 2 |
ユーザーがキャンセルをクリックしました。 | vbAbort | 3 |
ユーザーがクリックを中止しました。 | vbRetry | 4 |
ユーザーが再試行をクリックしました。 | vbIgnore | 5 |
ユーザーが[無視]をクリックしました。 | vbYes | 6 |
ユーザーが「はい」をクリックしました。 | vbNo | 7 |
ユーザーがNoをクリックした。 | MsgBox関数について知っておくべきことはほとんどない。ただし、メッセージボックスは注意して使用してください。通常は目的を持たないメッセージボックスを表示する理由はありません。たとえば、毎日メッセージ・ボックスが表示され、おはようございますと人々は迷惑になる傾向があります。 Budget Projectionブックを読み込んでくれてありがとう。 |