エクセルでメッセージボックスを利用して「〇〇しますか?」と問うた時に、「はい」「いいえ」を選択できますが、固定した文章ではなくセルの値によって質問内容が変更したいと思ったことありませんか?
実は簡単で文章の部分をセル番地に指定することで、自由にメッセージボックスの文章を変えることができる方法をご紹介します。
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がクリックされたら
- メッセージ「セルA1の値」と「日目ですね」を組み合わせて表示して、「はい」「いいえ」ボタンを表示する
- もし「はい」が選択されたら
- ユーザーフォーム1を閉じる
- ユーザーフォーム2を表示する
- Ifステートメント終了
- マクロ記録終了


このようにRangeと&と文字を組み合わせると、意外と簡単にできるようになり、日数が増えたとしてセルA1の数字が変われば、メッセージの表示が2日目、3日目と自動的に変化してくれますよ。
関連記事
-
2つのセルの値を足し算など加減乗除してラベル名に表示させるVBA
ユーザーフォームに配置したラベルの文字をプロパティのキャプションで指定するのではなく、セルの値を取得して表示させたいことありませんか? そしてさらに、2つのセ… -
エクセルVBAのメッセージ文章をセルの値にリンクさせる簡単な方法
エクセルでメッセージボックスを利用して「〇〇しますか?」と問うた時に、「はい」「いいえ」を選択できますが、固定した文章ではなくセルの値によって質問内容が変更… -
もし~だったらの条件分岐エクセル関数IFをVBAで代用する方法
条件分岐というと難しいですが、もし~だったら、そうでなかったらってよくありませんか? そしてエクセル関数でも使うIF関数をエクセルVBAでも高頻度で使うので、基本… -
エクセルINT関数をVBAで小数点以下切り捨てを繰り返し処理方法
エクセル関数を使って小数点以下を切り捨てする作業をVBAを使って複数行一括処理したいと思ったことありませんか? Application.RoundDownと繰り返し処理を合わせて使え…
紅葉スポット
-
嵐山渓谷の黄金色ススキと紅葉のコラボが埼玉県代表の景勝地へ
埼玉県を代表する景勝地の嵐山渓谷は秩父から流れる槻川沿いに独特の地形からなり、嵐山町観光サイトには下記のように書かれています。 日本で初めての林学博士・本多静… -
無料で色づいたの紅葉トンネルを散策できる清水公園の紅葉絶景へ
自然公園内に春・夏・秋と季節ごとに楽しめる約500種類以上の花々やがある「花ファンタジア」「アスレチック」「バーベキュー」「キャンプ場」と様々な施設が整った公園… -
中禅寺湖を上から見られる絶景ポイント半月山展望台へ滞在時間50分
【紅葉見頃】10月中旬~11月上旬 最近インターネットや雑誌などで日光を紹介する時によく見る機会がある、中禅寺湖を上から撮った写真の場所ってどこだろうって思いま… -
フリーきっぷで行く千葉県内の紅葉名所や穴場スポット7選
10月中旬頃から始まる関東地方の紅葉も11月中旬過ぎると、ようやく千葉県内の紅葉名所ももみじが真っ赤に色づいて見頃になってきます。 千葉県内の紅葉は12月上旬まで楽… -
埼玉県指定名勝地の中津峡へ奥秩父を代表する紅葉スポット
秩父エリアトップクラスの絶景と言われている奥秩父の中津峡は、約10㎞もの中津川沿いの紅葉が見られて、その長さは約10㎞と言われて、西武秩父駅からのバス車窓からも… -
草津温泉スキー場の天狗山紅葉とライトアップされた西の河原散策へ
10月になると早々に紅葉を見ることができるので、今年の紅葉狩りのスタートはここ草津温泉からと言っても過言ではありません。 草津温泉の湯畑が有名ですが、すぐ近くに…