Excel VBA 逆引き集 | データ登録結果表示

Excel VBA
スポンサーリンク

データ登録結果表示の基本

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)に Label1Label2 を配置。

' 登録フォーム側
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で 登録処理と結果確認を組み合わせた安心できるフォーム を簡単に作成できます。

タイトルとURLをコピーしました