第6章:入力・出力ダイアログ
やっほ〜!まくるだよ🐰💡
今回は、 ユーザーとやり取りする魔法「ダイアログボックス」 について学んでいくよ!
- 入力を受け取る →
InputBox
- メッセージを表示する →MsgBox
この2つを使いこなせれば、VBAが一気に“しゃべる魔法”に進化しちゃう✨
💬 InputBox:文字入力してもらう
Sub AskName()
Dim userName As String
userName = InputBox("あなたの名前を教えてください")
MsgBox "こんにちは、" & userName & "さん!"
End Sub
▶ 実行すると、名前を入力するウィンドウが出てくるよ!
入力した内容を userName
に代入して、あいさつメッセージに使ってる🎉
🔢 数値もInputBoxでOK
Sub CalcDouble()
Dim inputNum As String
Dim result As Double
inputNum = InputBox("数字を入力してください")
result = Val(inputNum) * 2
MsgBox "2倍すると " & result & " だよ!"
End Sub
📌 Val()
は文字列を数値に変換してくれる関数だよ!
📢 MsgBox:メッセージを表示する
Sub ShowMessage()
MsgBox "処理が完了しました!"
End Sub
- ユーザーに通知するだけならこれでOK!
✅ MsgBoxの応用:Yes/Noの選択肢付き
Sub AskContinue()
Dim answer As VbMsgBoxResult
answer = MsgBox("続けますか?", vbYesNo + vbQuestion, "確認")
If answer = vbYes Then
MsgBox "続行します!"
Else
MsgBox "キャンセルされました"
End If
End Sub
-
vbYesNo
:Yes/Noボタンを表示 -
vbQuestion
:アイコンを「?」に -
vbYes
/vbNo
:どちらが選ばれたか判断できる!
🔍 MsgBoxの構文と引数
MsgBox(メッセージ, ボタンの種類 + アイコン種類, タイトル)
よく使う定数:
-
vbOKOnly
:OKのみ(デフォルト) -
vbYesNo
:Yes/Noボタン -
vbExclamation
:警告アイコン -
vbInformation
:iアイコン -
vbCritical
:×マーク -
vbQuestion
:?アイコン
🧙 応用:入力をキャンセルされた場合の対処
Sub AskAge()
Dim age As String
age = InputBox("年齢を入力してください")
If age = "" Then
MsgBox "入力がキャンセルされました"
Else
MsgBox "あなたは " & age & " 歳ですね!"
End If
End Sub
キャンセルされたときは空文字 ""
になるよ。チェックを忘れずに⚠️
📌 まとめ
-
InputBox
でユーザーに入力してもらえる -
MsgBox
でメッセージ表示や確認ができる - 条件分岐と組み合わせるともっと便利に!
次回は、 「第7章:ファイル操作と保存処理」
ファイルを開いたり保存したり、いよいよ“本格魔法”に突入だよ📂✨