2019年10月14日

メッセージを表示する / Excel / VBA

受注マスタから受注票を印刷させるためのマクロの基本的な試作は終わったんで、他に必要なマクロの試作を作ってみます。

メッセージの表示です。
例えば繰り返し処理(For〜Next)を伴うマクロは一旦実行すると途中で止めることはできません。
まして印刷(紙出し)のマクロだと間違って実行させてしまうと紙が無駄になってしまうかもしれません。ので、マクロを実行させる前に注意喚起のメッセージとか、確認のメッセージを表示させてあげます。
20191014-21.jpg

メッセージボックス
MsgBox("メッセージ", vbYesNo + vbQuestion + vbDefaultButton2, "タイトル")

メッセージ:表示させるメッセージ
vbYesNo:「はい」、「いいえ」のボタンを表示します
vbQuestion:質問のメッセージボックス
vbDefaultButton2:既定値を「いいえ」
タイトル:メッセージボックスのタイトル

で、ボタンを押した結果は
「はい」:vbYes
「いいえ」:vbNo

複数の条件分岐
条件分岐と言うとIF〜THEN〜ELSEとなるけど、複数の条件での分岐の場合は
Select Case 変数 を使います。
Case vbYes:「はい」を押した場合
   処理

メッセージ表示マクロ

Sub Macro1()

'変数A
Dim A

'問合せメッセージボックス表示
'ボタン「はい」、「いいえ」
'既定値「いいえ」

A = MsgBox("印刷設定は完了していますか?", vbYesNo + vbQuestion + vbDefaultButton2, "印刷設定確認")

'押されたボタンの確認
Select Case A

'「はい」の場合
Case vbYes

'セルA1に1を表示する
Cells(1, 1) = 1


End Select

こんな感じです
20191013-13.JPG


マクロを実行すると
メッセージボックスが表示されます。
質問のメッセージボックスは“?”が表示されます
20191013-11.JPG

で、「はい」を押すとセルA1に1が表示されました
20191013-12.JPG

サンプルExcelファイル)20191013_メッセージボックス.zip

ちなみに、他のメッセージボックスは
vbCritical:警告
20191014-25.JPG

vbExclamation:注意
20191014-24.JPG

vbInformation:情報
20191014-23.JPG

と言うわけで、メッセージボックスは様々な場面でメッセージを表示させられる便利な機能ですが、あまり多用すると、「ウザッ!」ってなって、いちいち「はい」を押すのさえ「めんどくせー」ってことになるから、出来るだけ使わない方がいいと思います。
それに、最初は使用方法を補佐する目的で使いがちになってしまい、使い方を覚えてしまうと要らないメッセージになってしまいます。使い慣れてきてから、それでも必要なメッセージを表示させるようにした方が良いんじゃないかなー。。
20191014-22.jpg



前のページ:最終行を取得する
次のページ:マクロを実行するマクロ

関連ページ
Excel VBA メニュー
VBAを使えるようにしてみました!
実例1 一覧表から帳票を自動で印刷させる



 ランタンって言うと、停電の時やキャンプなどで使用する灯りってイメージだけど、LEDになって乾電池でも長時間使用できるようになってからインテリア照明としても使用できるおしゃれな物も増えてきました。
 そんな中、満を持しておしゃれ家電メーカーのバルミューダが素敵なLEDランタンを発売しました。
 キャンドルのように揺らめく光や、調光機能による明るさレベルに応じて変化する光の色など、まったりしてしまう優しい灯りです。






posted by haku1569 at 17:48| Excel VBA | このブログの読者になる | 更新情報をチェックする
' + adSrc + '<' + '/body>'); d.close(); } loadAd(); window.setTimeout(loadAd, reloadSec * 1000); window.setTimeout(function() {adDiv.style.display = 'none'}, hideSec * 1000); }); }