Excelでは、セルに入力できる値のルールを指定する「入力規則(Validation)」機能がありますが、入力時にユーザーへヒントをポップアップ表示させることも可能です。
この記事では、VBAを用いて入力規則のガイドメッセージを表示する方法について、実用的なサンプルコードとともにご紹介いたします。
目次
入力規則+ポップアップでユーザーに案内するメリット
- ユーザーが入力すべき値の形式や制限条件を事前に把握できる
- データの整合性が保たれ、後から修正する手間が省ける
- フォームや業務用テンプレートの品質が向上する
入力ガイドをポップアップ表示するVBAコード
以下のコードでは、列Dに対して**「2025年1月1日以降の日付のみを入力可能」とし、マウスを合わせたときにその旨をポップアップで表示**する例です。
Sub 入力ガイドを設定する()
With Worksheets("シート1").Range("D:D").Validation
' 入力規則を初期化
.Delete
' 入力規則(2025年1月1日以降の「日付」)
.Add _
Type:=xlValidateDate, _
Operator:=xlGreaterEqual, _
Formula1:="2025/1/1"
' 入力時に表示するポップアップメッセージ
.InputTitle = "日付の入力について"
.InputMessage = "2025/1/1以降の日付を入力してください"
End With
End Sub
解説:各プロパティの意味
プロパティ名 | 内容 |
---|---|
.Delete | 既存の入力規則を削除 |
.Add | 新しい入力規則を追加 |
Type | 入力の種類(例:xlValidateDate で日付) |
Operator | 比較条件(例:xlGreaterEqual で「以上」) |
Formula1 | 条件値(例: "2025/1/1" ) |
.InputTitle | ポップアップのタイトル |
.InputMessage | 実際に表示される説明メッセージ |
入力制限とガイド表示の組み合わせ活用例
シチュエーション | 条件 | ポップアップメッセージ |
---|---|---|
出荷日入力フォーム | 未来日付のみ有効(本日以降) | 本日以降の日付を入力してください |
顧客名リスト入力 | プルダウンメニューからのみ選択可能 | リストから顧客名を選択してください |
金額入力欄 | 1〜10000の範囲のみ | 1から10000の範囲内で金額を入力 |
注意点
.InputMessage
によるポップアップは、セルを選択した際にのみ表示されます- ユーザーが入力中に別セルへ移動した場合、メッセージは自動で消えます
- 空欄でも
.Add
の制限だけは有効です
まとめ
項目 | 説明 |
---|---|
入力規則を設定する | .Validation.Add を使用 |
ヒントを表示する | .InputTitle と .InputMessage を設定 |
よく使う型・演算子 | xlValidateDate 、xlGreaterEqual など |
メリット | ユーザーへの入力補助とデータ精度の向上 |
VBAでの入力規則にヒントメッセージを組み合わせることで、ユーザーにとってわかりやすく、信頼性の高いExcelシートを構築できます。ぜひ活用してみてください。