Q.このブログを見ながらいろいろなファイルに便利なマクロ機能を付けたりしています。それで人に使ってもうらうようにマクロ入りブックを作って渡しているのですが、操作したり入力したりしたときに、エラーや間違いの入力に対してメッセージを表示したいと思っています。Excelのシート上のどこかのセルに表示することはできますが、保存したときにその文字も一緒に保存されてしまうので、できればポップアップメッセージにしたいのですが。
A.このような場合には、MsgBox(MessageBoxの略)という関数が用意されています。こちらの説明を致しましょう。
まずは実物を見て頂いた方が良いかも知れません。シート上にボタンを貼り付け、このプロシージャに以下のコードを記述して下さい(ボタン名は「ボタン1」とします)※。これがどのような処理を行うか想像できますか。
※補足:「開発」タブで「デザインモード」を選択した後、「挿入」からボタンのアイコンを選ぶ。シート上に配置したら「マクロの登録」が自動的に表示されるので、そこから「ボタン1_Click()」を選択する。
Sub ボタン1_Click()
If Cells(1, 1).Value > 130 Then
MsgBox ("年齢は130歳までで入力して下さい")
End If
End Sub
マクロを作ったことのある方ならだいたいおわかりでしょう。A1セルで入力した数字(これは年齢を想定)をチェックする関数であり、If文で130を超える入力があった場合は、メッセージボックスを表示します。どのように表示されるかは、試してみて下さい。
さて、ここまでで単純な文章の表示はできます。次はちょっと応用してみましょう。
まずは、改行を入れる場合です。メッセージボックスで2行表示するためには、 vbcr という定数を使います。早速、見てみましょう。
Sub ボタン1_Click()
Dim limit As Integer
limit = 130
If Cells(1, 1).Value > limit Then
MsgBox ("年齢が上限値を超えています。"...