データ登録結果表示の基本
Excel VBAで「フォームから入力したデータを登録した後、その結果をユーザーにわかりやすく表示したい」という場面では データ登録結果表示 を組み込むと便利です。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。
基本の考え方
- データ登録結果表示とは?
入力フォームからシートにデータを保存した後、その結果を「メッセージ」「別シート」「一覧表示」などでユーザーにフィードバックする仕組み。 - 用途:
- 登録成功/失敗を知らせる
- 登録した内容を確認できるようにする
- 登録履歴を一覧化する
テンプレ1:登録成功メッセージを表示
UserFormに TextBox1(氏名)、TextBox2(年齢)、CommandButton1(登録ボタン) を配置。
Private Sub CommandButton1_Click()
Dim ws As Worksheet: Set ws = Worksheets("Data")
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' データ登録
ws.Cells(lastRow + 1, 1).Value = TextBox1.Value
ws.Cells(lastRow + 1, 2).Value = TextBox2.Value
' 登録結果を表示
MsgBox "データを登録しました!" & vbCrLf & _
"氏名: " & TextBox1.Value & vbCrLf & _
"年齢: " & TextBox2.Value
End Sub
VB- ポイント:
- 登録後に
MsgBoxで結果を表示。 - 入力内容をそのまま確認できる。
- 登録後に
テンプレ2:登録結果を別シートにログとして記録
Private Sub CommandButton1_Click()
Dim ws As Worksheet: Set ws = Worksheets("Data")
Dim wsLog As Worksheet: Set wsLog = Worksheets("Log")
Dim lastRow As Long, logRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
logRow = wsLog.Cells(wsLog.Rows.Count, "A").End(xlUp).Row
' データ登録
ws.Cells(lastRow + 1, 1).Value = TextBox1.Value
ws.Cells(lastRow + 1, 2).Value = TextBox2.Value
' ログに記録
wsLog.Cells(logRow + 1, 1).Value = "登録成功"
wsLog.Cells(logRow + 1, 2).Value = TextBox1.Value
wsLog.Cells(logRow + 1, 3).Value = TextBox2.Value
wsLog.Cells(logRow + 1, 4).Value = Now
MsgBox "データを登録しました! ログに記録しました。"
End Sub
VB- ポイント:
- 「Log」シートに履歴を残す。
- 登録日時も記録できる。
テンプレ3:登録結果をListBoxに表示(一覧確認)
UserFormに ListBox1 を配置。
Private Sub CommandButton1_Click()
Dim ws As Worksheet: Set ws = Worksheets("Data")
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' データ登録
ws.Cells(lastRow + 1, 1).Value = TextBox1.Value
ws.Cells(lastRow + 1, 2).Value = TextBox2.Value
' ListBoxに結果を追加
ListBox1.AddItem TextBox1.Value
ListBox1.List(ListBox1.ListCount - 1, 1) = TextBox2.Value
MsgBox "データを登録しました!"
End Sub
VB- ポイント:
- 登録した内容をフォーム内のListBoxに即表示。
- ユーザーが一覧で確認できる。
テンプレ4:登録結果を確認画面(別フォーム)で表示
別のUserForm(ResultForm)に Label1 と Label2 を配置。
' 登録フォーム側
Private Sub CommandButton1_Click()
Dim ws As Worksheet: Set ws = Worksheets("Data")
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
ws.Cells(lastRow + 1, 1).Value = TextBox1.Value
ws.Cells(lastRow + 1, 2).Value = TextBox2.Value
' 結果フォームに値を渡す
ResultForm.Label1.Caption = "氏名: " & TextBox1.Value
ResultForm.Label2.Caption = "年齢: " & TextBox2.Value
ResultForm.Show
End Sub
VB- ポイント:
- 登録後に別フォームを開いて結果を表示。
- 見やすい確認画面を作れる。
例題で練習
'例1:登録成功メッセージを表示
'例2:ログシートに記録
'例3:ListBoxに登録結果を表示
'例4:別フォームで結果を確認
VB初心者向けポイント
- MsgBoxで簡単に結果表示 → 最も手軽。
- ログシートに記録 → 履歴管理に便利。
- ListBoxで一覧表示 → フォーム内で確認できる。
- 別フォームで確認画面 → 見た目を整えたいときに有効。
- 登録結果を必ずフィードバックする → ユーザーが安心して操作できる。
👉 この「データ登録結果表示テンプレ」を覚えておけば、Excel VBAで 登録処理と結果確認を組み合わせた安心できるフォーム を簡単に作成できます。
