エクセルVBAのメッセージ文章をセルの値にリンクさせる簡単な方法

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

エクセルでメッセージボックスを利用して「〇〇しますか?」と問うた時に、「はい」「いいえ」を選択できますが、固定した文章ではなくセルの値によって質問内容が変更したいと思ったことありませんか?

実は簡単で文章の部分をセル番地に指定することで、自由にメッセージボックスの文章を変えることができる方法をご紹介します。

msg = MsgBox(セル番地&文字)

エクセルVBAのメッセージ機能は、単純に「OK」返答する”MsgBox”と、「はい」「いいえ」などで選択肢がある”msg=MsgBox”があります。

ここでは、セルの値を文字を組み合わせて「はい」「いいえ」の選択肢を選ぶことで次の動作を誘導するVBAコードをご紹介します。

VBAコード

Private Sub CommandButton1_Click()
msg = MsgBox(Range(“A1”) & “日目ですね”, Buttons:=vbYesNo + vbQuestion)
If msg = vbYes Then
Unload UserForm1
UserForm2.Show
End If
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. メッセージ「セルA1の値」と「日目ですね」を組み合わせて表示して、「はい」「いいえ」ボタンを表示する
  3. もし「はい」が選択されたら
  4. ユーザーフォーム1を閉じる
  5. ユーザーフォーム2を表示する
  6. Ifステートメント終了
  7. マクロ記録終了
波乗りアヒル

このようにRangeと&と文字を組み合わせると、意外と簡単にできるようになり、日数が増えたとしてセルA1の数字が変われば、メッセージの表示が2日目、3日目と自動的に変化してくれますよ。

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット

2024年5月11日からマイルと楽天ポイントとの相互交換提携開始!

交換レート0.5:1なので半分になってしまいますが、使い方次第で実質3倍の価値まで引き上げられる方法です。