【Excelマクロ】フォームを使ってデータを簡単に追加する

Excelで日々の入力作業をしていると、同じような形式のデータを繰り返し入力する場面があります。

「入力欄を決まった形にしたい」「誤入力を減らしたい」と感じたことがある方におすすめなのが、フォーム入力の自動化です。

マクロを使えば、ユーザーフォームを通じて誰でも簡単にデータを追加できる仕組みを作れます。

今回は、基本的なフォーム作成と、入力内容をワークシートに転記する仕組みを解説します。

ユーザーフォームで入力画面を作成する

まずは、ユーザーフォームに3つの入力欄(名前、部署、日付)と「追加」ボタンを設置します。

VBEで次の手順を行います。

  1. Alt + F11 でVBEを開く
  2. メニューから「挿入」→「ユーザーフォーム」
  3. テキストボックス3つと、コマンドボタンを1つ追加
  4. 各コントロールの名前を次のように設定
     - txtName(名前入力欄)
     - txtDept(部署入力欄)
     - txtDate(日付入力欄)
     - btnAdd(追加ボタン)

次に、ボタンに次のコードを記述します。

Private Sub btnAdd_Click()

    Dim ws As Worksheet
    Dim r As Long

    Set ws = ThisWorkbook.Sheets("データ")

    ' 次の空行を取得
    r = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1

    ' 入力値を転記
    ws.Cells(r, 1).Value = txtName.Value
    ws.Cells(r, 2).Value = txtDept.Value
    ws.Cells(r, 3).Value = txtDate.Value

    ' 入力欄をクリア
    txtName.Value = ""
    txtDept.Value = ""
    txtDate.Value = ""

    MsgBox "データを追加しました。"

End Sub

このコードは、フォームに入力された内容を、「データ」というシートの末尾に追加する仕組みです。

「追加」ボタンをクリックするだけで、自動的に1行ずつ記録されていきます。

フォームを表示するマクロを作成する

作成したユーザーフォームは、マクロを使って簡単に呼び出せます。

次のように標準モジュールに記述してください。

Sub ShowForm()
    UserForm1.Show
End Sub

このマクロをボタンに割り当てることで、クリックひとつで入力画面を表示できます。

ユーザにとっても、Excelの知識がなくても操作できるインターフェースになるのが魅力です。

実装するメリット

フォーム入力をマクロで自動化することで、次のようなメリットが得られます。

  • 入力フォーマットが統一される
  • 誤入力を防ぎやすくなる
  • クリック操作だけでデータ追加ができる
  • 入力者がExcelに詳しくなくても使える
  • 将来的に印刷や集計への拡張も可能

業務上のデータ入力を「誰がやっても同じ結果にする」ためには、こうした仕組み化が効果的です。

特に複数人で同じファイルを使う場合、品質と作業時間のばらつきを減らすことができます。

まとめ

フォームを使ったデータ追加は、VBAの基本的な使い方でありながら、実務での効果が大きいテクニックです。

マクロを使えば、
「入力欄を整えて、決まった場所にデータを追加する」という作業が、誰でもワンクリックで実現できるようになります。

今回の仕組みをベースに、入力項目を増やしたり、バリデーション(入力チェック)を追加するなど、さらに発展的な使い方も可能です。

まずはシンプルなフォームから始めて、「Excelに強い仕組み」を少しずつ作っていきましょう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール