Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excel VBAでデータ入力フォームを作成する方法【初心者向け3ステップ完全ガイド】

ExcelでVBAを活用していると、多くの方がデータ入力フォームの作成でつまずく経験をします。本記事では、VBAを使ってExcelに見栄えが良く使いやすいデータ入力フォームを作成する方法を、わかりやすく解説します。

Excel VBAでデータ入力フォームを作る3つの簡単ステップ

ここでは、Washington(ワシントン)New York(ニューヨーク)California(カリフォルニア)という3つのワークシートを用意しました。これらには、銀行の3つの支店の顧客の氏名・連絡先・年齢・性別のデータが登録されています。

今回の目標は、VBAを使用してこのデータベースに新しいデータを入力できるフォームを作成することです。以下の2つのステップで進めていきます。

  • まず、新しいデータを入力するためのユーザーフォーム(UserForm)を作成します
  • 次に、フォームを開くためのボタンをワークシートに配置します

ステップ1:VBAでユーザーフォームを作成する

このステップはやや長い工程になるため、理解に時間がかかるかもしれません。確実な結果を得るために、以下の手順に慎重に従って進めてください。

  • キーボードでALT + F11を押し、Visual Basic(VBE)ウィンドウを開きます。
  • Visual Basicウィンドウのツールバーから挿入 > ユーザーフォームを選択します。UserForm1という新しいユーザーフォームが表示されます。
  • まず、ツールボックスからラベル(Label1)をドラッグして、ユーザーフォームの左上に配置します。ラベルの表示名を「ワークシート」に変更してください。
  • 続けて、リストボックス(ListBox1)をLabel1の右側にドラッグします。
  • 次に、データセットの列数と同じ数のラベル(この例では4つ)をユーザーフォームの左側にドラッグします。各ラベルの隣にテキストボックスを1つずつ配置します。
  • 各ラベルの表示名を、データセットの列見出し(顧客名・連絡先・年齢・性別)に変更します。
  • 最後に、コマンドボタン(CommandButton)をユーザーフォームの右下にドラッグし、ボタンの表示名を「Enter Data(データ入力)」に変更します。
  • リストボックスをダブルクリックすると、ListBox1_Clickというプライベートサブプロシージャが開きます。そこに以下のコードを入力します。

⧭ VBAコード:

Private Sub ListBox1_Click()

For i = 0 To UserForm1.ListBox1.ListCount - 1
    If UserForm1.ListBox1.Selected(i) = True Then
       Worksheets(UserForm1.ListBox1.List(i)).Activate
    End If
Next i

End Sub
  • 次に、コマンドボタンをダブルクリックすると、CommandButton1_Clickというサブプロシージャが開きます。以下のコードを入力しましょう。

⧭ VBAコード:

Private Sub CommandButton1_Click()

Total_Rows = ActiveSheet.UsedRange.Rows.Count
Total_Columns = ActiveSheet.UsedRange.Columns.Count

Active_Column = 1

For Each Ctrl In UserForm1.Controls
    If TypeName(Ctrl) = "TextBox" Then
        ActiveSheet.UsedRange.Cells(Total_Rows + 1, Active_Column) = Ctrl.Text
        Active_Column = Active_Column + 1
    End If
Next Ctrl

End Sub
  • 最後に、ツールバーの挿入 > 標準モジュールを選択してクリックします。
  • Module1という新しいモジュールが挿入されるので、以下のコードを入力します。

⧭ VBAコード:

Sub Run_UserForm()

UserForm1.Caption = "Data Entry Form"

UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle
UserForm1.ListBox1.ListStyle = fmListStyleOption

For i = 1 To Sheets.Count
    UserForm1.ListBox1.AddItem Sheets(i).Name
Next i

Load UserForm1
UserForm1.Show

End Sub

これで完了です!データベースに新しいデータを入力するためのフォームが正常に作成できました。

あわせて読みたい: Excelにおけるデータ入力の種類(概要解説)

ステップ2:フォームを開くボタンを挿入する

ユーザーフォームを使ったデータ入力フォームの作成が完了したら、次はワークシートにフォームを開くためのボタンを追加します。以下の手順に従ってください。

  • 画面上部のリボンから[開発]タブをクリックして開きます。[開発]タブはデフォルトでは非表示になっています。リボンに表示されていない場合は、事前に有効化しておきましょう。
  • [開発]タブの[コントロール]グループにある[挿入]をクリックします。各種ツールが一覧表示されるので、左上のボタン(フォームコントロール)を選択します。
  • ボタンをワークシートの任意の場所にドラッグして離すと、[マクロの登録]ダイアログボックスが表示されます。[マクロ名]欄にRun_UserFormを入力します。
  • その後、[OK]をクリックします。
  • 必要に応じて、ボタンの表示名を変更することもできます。ここでは「Enter New Data(新規データ入力)」に変更しました。

おめでとうございます!データ入力フォームを開くボタンの設置に成功しました。

さらに利便性を高めたい場合は、各ワークシートにそれぞれボタンを配置することも可能です。

あわせて読みたい: Excelでタイムスタンプを自動挿入する5つの方法

関連記事:

  • WebフォームからExcelスプレッドシートへデータを転記する方法
  • Excelでデータログを作成する2つの方法
  • Excelで入力可能なフォームを作る5つの実例

ステップ3:完成したデータ入力フォームの動作確認

Excel VBAによるデータ入力フォームの作成と起動用ボタンの設置が完了しました。実際の動作を確認してみましょう。ワークシート上の「Enter New Data」ボタンをクリックします。

データ入力フォームが開きます。まず、新規データを入力したいワークシートを選択してください。

ここではNew Yorkを選択しました。ワークシートを選択した瞬間に、そのシートがアクティブになります。

  • 続いて、入力したい残りのデータを記入します。ここではJennifer Marlo、444204240、26、Femaleと入力しました。
  • 最後に「Enter Data」をクリックします。

新しいデータがデータベースの最終行に入力されていることが確認できます。

あわせて読みたい: ユーザーフォームを使わずにExcelのデータ入力フォームを作成する方法

注意点

  • 新しいデータを入力する際、コードはユーザーフォーム上のテキストボックスの並び順に従って処理されます。そのため、ユーザーフォームにテキストボックスを追加する際は、データベースの列の順序と一致させるように注意してください。

まとめ

以上が、Excel VBAを使ってデータベース用のデータ入力フォームを作成する手順です。ご不明な点がありましたら、お気軽にお問い合わせください。今後も役立つ情報をお届けしていきますので、ぜひ当サイトをご活用ください。

関連記事

  • Excelでオートフィルフォームを作成する方法(ステップバイステップガイド)
  • ドロップダウンリスト付きデータ入力フォームの作成方法(2つの手法)
  • Excelでデータ入力を自動化する2つの効果的な方法
  • Excelセルへのデータ入力を制限する2つの簡単な方法
  1. Excelでデータモデルを管理する方法【初心者向け5ステップ完全ガイド】

    Excelでデータモデルを管理する方法を学びたいと思っていませんか?本記事では、Excelにおけるデータモデルの管理手順を、初心者の方にもわかりやすくステップごとに徹底解説します。この記事を読めば、データモデルの基本概念から実践的な活用方法まで、すべてをマスターできるでしょう。 より理解を深めたい方は、練習用のExcelワークブックをダウンロードして、実際に手を動かしながら学習することをおすすめします。 Excelのデータモデルとは? Excelのデータモデル(Data Model)とは、2つ以上のテーブルを共通のデータ項目(キー)で関連付けた特殊なデータテーブルの形式です。複数のシートや外部

  2. Excelで年間カレンダーを作成する方法|初心者向け4ステップ解説

    先々の予定をしっかり立てたい方や、スケジュールが忙しい方にとって、Excelのカレンダーは非常に便利なツールです。この記事では、Excelで年間カレンダーを作成する手順を、詳しい解説とともにステップごとにご紹介します。ここで作成するカレンダーの最大の特徴は、動的かつインタラクティブであるという点です。つまり、年の数値を変更するだけで、カレンダーが自動的に更新されます。さらに、ExcelのVBAを使って月間カレンダーを作成する方法についても解説します。 練習用ワークブックは、以下のリンクからダウンロードできます。 Excelで年間カレンダーを作成する4つのステップ チュートリアルの詳細に入る前に