|
|
| Excel VBA Macro ・ フロー制御 ・ FAQ |
|
メッセージボックスでの選択結果により異なる処理をするには?
|
|
|
|
Question 055k |
拙著「組み方講座」 |
 |
 |
|
|
77ページ [3-1-9図] ◆ 環境・・ Excel ?

メッセージボックスで 「はい」 「いいえ」を表示させ、「はい」の場合は Aの処理を、「いいえ」の場合は Bの処理をさせるにはどうするのでしょうか。
|
|
Answer |
Copyright (C) 2005.12.10 永井善王 |
|
|
拙著「ExcelVBAマクロ組み方講座」ご愛読いただき、ありがとうございます。
MsgBox関数の学習は本の 75〜77ページにありまして、「応答必要な場合」のコードの書き方が 75ページの[用語!]の中に、そして、77ページの「応用力を磨こう」の中に右図のメッセージボックスを作成する方法が載っています。
また、それに続く 78ページで、[条件判断して実行順序を変えてみる]方法を学習します。
ご質問は、この 2つをどう組み合わせれば可能になるか、ですね。
まずは、下記のサンプルをご覧ください。 (説明用に行番号を入れてあります。)
Sub メッセージボックスでの選択結果により異なる処理をする()
10 選択 = MsgBox("権限をお持ちですか", vbYesNo + vbExclamation, _
"閲覧制限されたブックです")
20 If 選択 = vbYes Then '[はい]なら
30 Worksheets("Sheet1").Activate '※1 (例示:Sheet1をアクティブにする)
40 Else 'そうでないなら
50 ThisWorkbook.Close SaveChanges:=False '※2 (例示:このブックを閉じる)
60 End If
End Sub
10行目 ・・・ メッセージボックスを表示してユーザーが選択した結果を変数「選択」に取得します。
[はい] を選択すると vbYes が、 [いいえ] なら vbNo が返ります。
30行目 ・・・ ここへ [はい] の場合の処理を記述します。何行かあっても構いません。
50行目 ・・・ ここへ [いいえ] 〃 〃
さっそく、このサンプルを応用して組んでみてください。 そして、新たな疑問点が出ましたら、改めてご質問ください。
|
|
|
|
| |
|
|