エクセルを使っていて、「ポップアップを表示したい」と思ったことはありませんか?
たとえば「このセルにはこういう内容を入れてほしい」「注意点をあらかじめ伝えておきたい」といった場面では、ポップアップ表示があるととても便利です。
一般的に「ポップアップ」と呼ばれるものには、セルを選択したときに出てくる説明メッセージや、VBAを使って表示するウィンドウなど、さまざまな種類があります。
本記事では、エクセル初心者の方でもすぐに使える 基本的なポップアップの作り方 から、VBAを使った カスタムメッセージの表示方法 まで、わかりやすく解説します。
「ポップアップが消えない」「表示位置がズレてしまう」など、よくある疑問やトラブルについても触れていきますので、ぜひ参考にしてみてください。
エクセルでよく使われる「ポップアップ」表示の作り方
エクセルで「ポップアップを出したい」と思ったとき、VBAを使わなくても簡単にできる方法があります。
ここでは、入力規則メッセージ・コメント(またはメモ)・図形やリンクのマウスオーバー表示といった、VBAを使わないポップアップの作成方法をご紹介します。
● 入力規則を使ってセル選択時に注意書きを表示する
もっとも手軽にポップアップを表示できるのが「入力規則のメッセージ機能」です。
セルを選択したときに自動でメッセージを表示してくれるので、入力ミスの防止にも役立ちます。
設定方法:
-
ポップアップを表示させたいセルを選択します
-
[データ]タブ → [データの入力規則] をクリック
-
「入力時メッセージ」タブを選択
-
「タイトル」と「メッセージ」を入力し、[OK]で完了です
↓入力規則を設定後の様子:
入力規則を設定したセルを選択すると、コメントが表示されます。
ワンポイント:
-
メッセージ内で 改行 したい場合は、
Alt + Enter
を使います -
ただし、改行しすぎるとポップアップが切れて表示されることがありますので注意しましょう
● コメント(またはメモ)でポップアップ表示する
次に紹介するのは、セルに「コメント(またはメモ)」を追加する方法です。
こちらもセルにカーソルを合わせることでメッセージがポップアップ表示されるしくみです。
コメントとメモの違い(Excelのバージョンによる)
-
コメント:返信機能がある吹き出し形式(Excel 365以降)
-
メモ:以前のExcelで使用されていた「旧コメント」
設定方法(例:メモを挿入する場合):
-
セルを右クリック
-
「メモの挿入」または「コメントの挿入」を選択
-
入力後、セルの右上に表示されたアイコンでポップアップ確認
表示を常に出したい場合:
-
メモを右クリックして「常に表示」を選択すると、マウスを乗せなくても常時表示が可能です
↓[校閲]タブ→コメント・メモメニューでも切り替え可能です。
表示位置がズレるときの対処法:
-
コメントやメモはセルの固定やウィンドウ枠の固定と相性が悪いことがあります
セルにコメントやメモを設定していても、「ウィンドウ枠の固定」を行っていると、スクロール時にポップアップの一部が見切れてしまうことがあります。
特に表示位置が右上にある場合は注意が必要です。必要に応じて 表示位置の調整 や 固定行列の見直し を検討しましょう。↓1行目を固定している場合:
下へスクロールしていくと、コメントが見えなくなってしまいます。
-
表示位置をドラッグで調整し、ズーム倍率に応じた見え方も事前に確認しておくと安心です
※コメントやメモは、表示中に吹き出しの位置を一時的にドラッグで調整できます。
ただし、セルを選び直すと位置は元に戻ってしまうため、完全な表示位置の固定はできません。
必要に応じて「常に表示」にしたり、補足文を別セルに記載するなどの工夫がおすすめです。
● 図形やハイパーリンクのマウスオーバーで補足説明を出す
図形やリンクにマウスを合わせたときにメッセージを表示することも可能です。
方法①:図形の「代替テキスト」を活用
-
挿入した図形を右クリック
-
「代替テキスト」を選択
-
「説明」の欄にポップアップで表示したい内容を入力
方法②:ハイパーリンクにヒントを表示
-
セルや図形にハイパーリンクを設定
-
「ヒントの設定」からメッセージを入力すると、マウスオーバー時に表示されます
VBAでカスタムポップアップを作る方法と活用例
Excelでは、VBA(マクロ)を使って 自由度の高いポップアップウィンドウ を表示することもできます。
セル選択だけでは足りない場面や、特定の操作に応じてメッセージを出したいときに便利です。
ここでは、基本的な MsgBox
・InputBox
の使い方から、UserFormによる応用例まで順番にご紹介します。
VBA(マクロ)の初期設定については以下の記事をご参考ください。
→Excelでマクロを作るなら最初にやるべきVBAの基本設定とは?
● MsgBoxでシンプルな通知を表示する
MsgBox
は、最も基本的なポップアップです。メッセージを表示したり、ボタンで選択させたりすることができます。
基本構文:
Sub test()
MsgBox "保存が完了しました。"
End Sub
選択肢付きの例:
Sub test()
Dim result As VbMsgBoxResult
result = MsgBox("保存しますか?", vbYesNo + vbQuestion, "確認")
If result = vbYes Then
'保存処理を実行
End If
End Sub
ポイント:
-
ボタンの種類(OK、Yes/No、キャンセルなど)を柔軟に指定可能
-
ユーザーの選択によって処理を分岐できます
● InputBoxでユーザーに値を入力してもらう
InputBox
を使えば、ポップアップでテキストや数値の入力を促すことができます。
使用例:
Sub test()
Dim userInput As String
userInput = InputBox("氏名を入力してください", "名前の入力")
Range("A1").Value = userInput
End Sub
注意点:
-
空欄のまま「キャンセル」される可能性もあるため、入力チェックを忘れずに
-
数値入力の場合は
IsNumeric()
を使って検証しましょう
● UserFormで複雑な入力画面を作る(中級者向け)
複数の項目を一度に入力させたい場合や、見た目にこだわりたい場合は「UserForm(ユーザーフォーム)」が便利です。
概要:
-
テキストボックス、ラベル、ボタンなどを配置してカスタム画面を作成
-
入力値をVBAで処理してシートに反映できます
作成手順(概要):
-
[開発]タブ → [Visual Basic]を選択
-
[挿入] → [UserForm]を選択
-
テキストボックスやボタンをドラッグして設置
ユーザーフォームを使えば、以下のようなカスタムポップアップ画面を作ることができます。
テキストやボタンなどを自由に配置できるので、「確認画面」や「複数項目の入力」などに活用できます。
上記のように、「確認」「キャンセル」ボタンを配置して、ユーザーに選択させるような使い方も可能です。 -
ボタンに処理内容をVBAで記述
ユーザーフォームのボタンなど要素をダブルクリックすると、マクロを設定することができます。
-
マクロから
UserForm1.Show
で呼び出し
● ポップアップを使ったリマインダーや注意喚起の事例
VBAを活用すると、特定のタイミングで自動的にメッセージを表示することもできます。
使用例①:保存時に確認を出す
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "保存前に内容を確認してください。"
End Sub
使用例②:特定のセルが変更されたときに注意喚起
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
MsgBox "このセルの変更には注意が必要です!"
End If
End Sub