目次:
- この場合、関数が返す結果は気にしません。
- Sub GetAnswer()Dim Ans As Long Ans = MsgBox( "印刷開始?"、vbYesNo )ケースを選択します。ケースvbはいアクティブシート。 PrintOut Case vbNo MsgBox "Printing canceled" End Select End Sub
ビデオ: ファイルを選択するマクロを作る!VBAの基本(第2回) 2024
あなたはおそらくVBAのMsgBox関数に精通しています。以下に示す引数を受け入れるMsgBox関数は、情報を表示し、簡単なユーザー入力を得るのに便利です。それは関数なので、ユーザー入力を得ることができます。あなたが知っているように、関数は値を返します。 MsgBox関数の場合、ダイアログボックスを使用して返される値を取得します。それがどのように動作するかを正確に見るために読んでください。
引数 | プロンプト |
---|---|
プロンプト | メッセージボックスにExcelテキストが表示されます。 |
ボタン |
メッセージボックスのタイトルバーに表示されるテキスト |
(オプション) | MsgBox関数の構文の簡略化されたバージョンを次に示します。
<! MsgBox(プロンプト[、ボタン] [、タイトル]) |
単純なメッセージボックスを表示する
MsgBox関数を使用する方法は2通りあります。この場合、関数が返す結果は気にしません。
ユーザーからの応答を取得するには:
-
この場合、関数が返す結果を気にします。結果は、ユーザーがクリックするボタンによって異なります。 <! - 3 - >
-
MsgBox関数を単独で使用する場合は、引数の前後にカッコを入れないでください。次の例では、単にメッセージを表示し、結果を返しません。メッセージが表示されると、ユーザーが[OK]をクリックするまでコードが停止します。 Sub MsgBoxDemo()MsgBox "OKをクリックして印刷を開始します。 "シート("結果 ")。 PrintOut End Sub
このメッセージボックスの外観を見てください。この場合、ユーザーが[OK]をクリックすると印刷が開始されます。印刷をキャンセルする方法がないことに気付きますか?それを修正する方法を見つけるために読んでください。
単純なメッセージボックス。
メッセージボックスからの応答の取得
OKボタン以外のメッセージボックスを表示すると、ユーザーがクリックするボタンを知りたい場合があります。あなたは運がいい。 MsgBox関数は、どのボタンがクリックされたかを表す値を返すことができます。 MsgBox関数の結果を変数に割り当てることができます。
次のコードでは、MsgBoxから返された値で簡単に作業できる組み込み定数が使用されています。Sub GetAnswer()Dim Ans As Long Ans = MsgBox( "印刷開始?"、vbYesNo )ケースを選択します。ケースvbはいアクティブシート。 PrintOut Case vbNo MsgBox "Printing canceled" End Select End Sub
定数
値
機能 vbOKOnly
0 | OKボタンのみを表示します。 | vbOKCancel |
---|---|---|
1 | [OK]および[キャンセル]ボタンが表示されます。 | vbAbortRetryIgnore |
2 | 中止、再試行、および無視ボタンを表示します。 | vbYesNoCancel |
3 | 「はい」、「いいえ」、および「キャンセル」ボタンが表示されます。 | vbYesNo |
4 | 「はい」および「いいえ」ボタンが表示されます。 | vbRetryCancel |
5 | 再試行およびキャンセルボタンを表示します。 | vbCritical |
16 | クリティカルメッセージアイコンを表示します。 | vbQuestion |
32 | 警告クエリアイコンを表示します。 | vbExclamation |
48 | 警告メッセージアイコンを表示します。 | vb情報 |
64 | 情報メッセージアイコンを表示します。 | vbDefaultButton1 |
0 | 最初のボタンはデフォルトです。 | vbDefaultButton2 |
256 | 2番目のボタンはデフォルトです。 | vbDefaultButton3 |
512 | 3番目のボタンはデフォルトです。 | vbDefaultButton4 |
768 | 4番目のボタンはデフォルトです。 | 見た目をチェックしてください。このプロシージャを実行すると、ユーザーがクリックするボタンに応じて、Ans変数にvbYesまたはvbNoのいずれかの値が割り当てられます。 Select Caseステートメントでは、Ans値を使用して、コードが実行するアクションを決定します。 |
単純なメッセージボックスで、2つのボタンがあります。 | MsgBox関数( "Start printing?"、vbYesNo)= vbYes Then … … [Yesの場合、コードは次のようになります。 [はい]をクリックしなかった場合のコード] … End If End Sub |