お役立ち記事

基礎知識・実用的なノウハウなどが学べるお役立ち情報をご紹介

catch-img

VBAのユーザーフォームとは?使い方や作成方法、注意すべき4つのポイントを解説

「Excelのデータ入力を、もっと簡単にする方法はないかな?」
「VBAのユーザーフォームの作り方や、使い方が知りたい」

Excelでの定型的な入力作業に時間や手間がかかっていると感じ、上記の疑問を感じていませんでしょうか。

VBAのユーザーフォームは、Excel上に入力専用の画面を作成し、データ入力作業を効率化するための機能のことです。

誰でも簡単に作成し動かすことができるため、入力フォームを使用したい方には非常におすすめでもあります。ただ、どのように扱えばいいのかわからない方も少なくありません。

そこで本記事では、VBAのユーザーフォームの使い方や作成方法、使うメリットや注意すべきポイントを解説します。最後まで読むことで、VBAユーザーフォームを使いこなし、日々の業務を改善させられるようになるでしょう。

フォームの作成や管理を簡単に行うならフォーム作成ツール「formrun」もおすすめです。

formrunには、主に以下の特徴があります。

  • VBAのユーザーフォームよりフォーム作成が簡単にできる

  • アンケート回答の集計を自動化できる

  • フォーム共有や埋め込みも簡単にできる

  • Excel以外にもさまざまな外部ツールと連携できる

  • ISMS・Pマーク取得済みの万全のセキュリティ

これから入力フォームの作成を検討している方は、VBAのユーザーフォームだけでなく、formrunも検討してみましょう。

目次[非表示]

  1. VBAのユーザーフォームとは?
  2. 作成したユーザーフォームを動かす手順【4STEP】
    1. 1.フォームを作成して保存する
    2. 2.標準モジュールを挿入する
    3. 3.フォームを表示するコードを書く
    4. 4.Excel画面に戻って実行する
  3. 初心者でもできるVBAユーザーフォームの作成手順【4STEP】
    1. 1.新しいユーザーフォームを作成する
    2. 2.ユーザーフォームを挿入する
    3. 3.コントロールを配置する
    4. 4.動作するコードを記述する
  4. VBAのユーザーフォームを使う3つのメリット
    1. 誰でも簡単に作成できる
    2. わかりやすい画面に編集できる
    3. フォームへの入力作業を効率化できる
  5. VBAのユーザーフォームを使う際に注意すべき4つのポイント
    1. VBAの文法に関する基礎知識が必要になる
    2. 機能やデザインが増えるとコードが複雑になる
    3. 入力フォーム運用の属人化を招く
    4. Excel以外の環境では動作できない
  6. フォームの作成や管理を簡単にするなら「formrun」もおすすめ!
    1. ノーコードでフォームの作成が完了する
    2. 条件分岐で質問を出し分け可能
    3. 回答の集計が自動化できる
  7. VBAのユーザーフォームを使って操作性を向上させよう!

VBAのユーザーフォームとは?

VBAのユーザーフォームとは?

VBAのユーザーフォームとは、Excel VBAの機能の1つであり、ユーザーが操作しやすいようにデザインを自由にカスタマイズできる入力フォームのことです。

VBAのユーザーフォームで「できること」と「できないこと」は、主に以下の通りです

できること

できないこと

VBAの自動入力  

外部APIやWebシステムとの連携

セルに直接入力・Excel上での編集

HTMLやCSSのような高度なデザイン

データの検索や編集 

複数人の同時フォーム使用

フォームの操作性向上

スマートフォンやブラウザ上での操作

VBAのユーザーフォームの「できること」と「できないこと」は、上記の通りです。

VBAユーザーフォームは、あくまでもExcel内での作業を効率化するためのツールであるため、Webシステムのような高度な機能や複数人での同時利用には向いていません。ただ、個人の定型業務を改善するには非常に役立ちます。

これからVBAのユーザーフォームを活用する場合は、参考にしてみてください。

作成したユーザーフォームを動かす手順【4STEP】

作成したユーザーフォームを動かす手順【4STEP】

作成したユーザーフォームを動かす手順は、主に以下の4ステップです。

  1. フォームを作成して保存する

  2. 標準モジュールを挿入する

  3. フォームを表示するコードを書く

  4. Excel に戻って実行する

この手順を覚えれば、いつでも自作のフォームを呼び出せます。

ここでは、それぞれの手順を解説します。

1.フォームを作成して保存する

作成したユーザーフォームを動かすためには、最初にフォーム本体を作成して保存する必要があります。

「 Visual Basic Editor(VBE)」の画面を開き、上部のメニューバーから「挿入」を選択し、「ユーザーフォーム」をクリックしましょう。

1.フォームを作成して保存する

これで新しいフォームが追加されるため、ツールボックスからボタンなどの必要な部品(コントロール)を配置し、フォームをデザインします。

2.標準モジュールを挿入する

続いて、作成したユーザーフォームを呼び出すために「標準モジュール」を挿入します。

ユーザーフォームを作成したのと同じVBEの画面で、メニューバーの「挿入」を選択し、「標準モジュール」をクリックします。

2.標準モジュールを挿入する

そして新しく作成されたモジュールに、フォームを呼び出すためのコードを記述すれば完了です。

3.フォームを表示するコードを書く

標準モジュールが挿入できたら、そのモジュール内にユーザーフォームを表示させるためのコードを記述します。

新しく作成されたモジュール(Module1)をダブルクリックしてコードウィンドウを開き、以下のように入力します。

Sub フォームを開く()
UserForm1.Show
End Sub

この時、フォーム名は実際の名前に合わせて変更しておきましょう。

4.Excel画面に戻って実行する

最後に、Excelの画面に戻って、作成したマクロを実行します。

設定からExcel画面に戻り「開発」タブにある「マクロ」を選択すると、先ほど作成した「フォームを開く」というマクロが表示されます。

4.Excel画面に戻って実行する

これを選択して「実行」ボタンをクリックすると、デザインしたユーザーフォームが画面に表示されるため、問題なく表示されていれば完了です。

初心者でもできるVBAユーザーフォームの作成手順【4STEP】

初心者でもできるVBAユーザーフォームの作成手順【4STEP】

初心者でもできるVBAユーザーフォームの作成手順は、主に以下の4ステップです。

  1. 新しいユーザーフォームを作成する

  2. ユーザーフォームを挿入する

  3. コントロールを配置する

  4. 動作するコードを記述する

この手順に沿って、まずは簡単な入力フォームを作ってみましょう。

ここでは、それぞれの手順を解説します。

1.新しいユーザーフォームを作成する

VBAのユーザーフォームを作成するには、最初に新しいユーザーフォームを作成します。

1.新しいユーザーフォームを作成する

Excelの画面上部にある「ファイル」を選択して「オプション」をクリックします。そして 、「リボンのユーザー設定」から、右側のボックスにある「開発」にチェックを入れて「OK」をクリックしましょう。

1.新しいユーザーフォームを作成する

これで、Excelのメニューに「開発」タブが追加されます。

2.ユーザーフォームを挿入する

続いて、ユーザーフォームを挿入します。

「開発」タブが表示されたら、その中にある「Visual Basic」をクリックして、VBE(Visual Basic Editor)を開きましょう。

2.ユーザーフォームを挿入する

VBEのメニューバーから「挿入」を選択し、「ユーザーフォーム」をクリックすると、画面に灰色の空のユーザーフォームが表示されます。 これが、これから作成していく入力フォームの土台となります。

3.コントロールを配置する

空のユーザーフォームが表示されたら、コントロールを配置します。

配置する際は、「ツールボックス」にある「ラベル」「テキストボックス」「コマンドボタン」などの選択肢からクリックで選択し、フォーム上の好きな位置にドラッグ&ドロップで配置します。

3.コントロールを配置する

配置したコントロールは、プロパティウィンドウで見た目や動作を細かく調整が可能です。

4.動作するコードを記述する

最後に動作するコードを記述したら完了です。

フォームに配置した「ボタン」などをダブルクリックすると、「コードウィンドウ」が開きます。

コードウィンドウに以下のような記述を行うと、ボタンを押したときにメッセージボックスが表示されます。

Private Sub CommandButton1_Click()
MsgBox "入力内容を確認しました。"
End Sub

VBAのユーザーフォームを使う3つのメリット

VBAのユーザーフォームを使う3つのメリット

VBAのユーザーフォームを使うメリットは、主に以下の3つです。

  • 誰でも簡単に作成できる

  • わかりやすい画面に編集できる

  • フォームへの入力作業を効率化できる

これらのメリットを理解し、業務改善に役立てましょう。

ここでは、それぞれのメリットを解説します。

誰でも簡単に作成できる

VBAのユーザーフォームを使うメリットは、プログラミングの深い知識がなくても、誰でも簡単に作成できることです。

VBAのユーザーフォームは、基本的な手順に沿えば誰でも作成でき、フォームを利用する側も、普段使っているExcelの延長線上で直感的に操作できます。そのため、導入のハードルが低いといえます。

わかりやすい画面に編集できる

VBAのユーザーフォームは、使用する人のレベルや業務内容に合わせて、画面のデザインを自由に変更できるのも大きなメリットです。

例えば、入力項目のラベルを分かりやすい言葉に変えたり、ボタンの色や大きさを調整したりすることで、操作ミスを防ぎ誰にとっても使いやすい画面を作れます。

利用者に合わせてインターフェースを最適化できるのが強みです。

フォームへの入力作業を効率化できる

VBAのユーザーフォームは、データ入力作業を大幅に効率化し、ミスを減らすのに役立ちます。

例えば、フォームに入力された値をボタン一つで指定したセル範囲へ自動的に転記するなどのプログラムを組めます。

プログラムを組むことによって、手作業によるコピー&ペーストの手間を省き、入力ミスや転記漏れなどのヒューマンエラーを削減することが可能です。

VBAのユーザーフォームを使う際に注意すべき4つのポイント

VBAのユーザーフォームを使う際に注意すべき4つのポイント

VBAのユーザーフォームを使う際に注意すべきポイントは、主に以下の4つです。

  • VBAの文法に関する基礎知識が必要になる

  • 機能やデザインが増えるとコードが複雑になる

  • 入力フォーム運用の属人化を招く

  • Excel以外の環境では動作できない

これらの注意点を理解した上で、計画的に活用しましょう。

ここでは、それぞれの注意点を解説します。

VBAの文法に関する基礎知識が必要になる

ユーザーフォームは比較的簡単に作成できる一方で、少し凝った処理をさせようとすると、VBAの文法に関するある程度の基礎知識が必要になります。

簡単なコードであればコピー&ペーストで対応できる場合もありますが、独自の操作や複雑な設定を追加するには、変数や条件分岐といったVBAの基本的なコードの知識が必要です。そのため、VBAのユーザーフォームを扱う際は考慮しておきましょう。

機能やデザインが増えるとコードが複雑になる

VBAのユーザーフォームは、機能やデザインが増えるとコードが複雑になることにも、注意が必要です。
業務効率化を目指して、ユーザーフォームに機能を追加したり、デザインを凝ったりしていくと、その分だけ記述するVBAのコードは長くなり複雑化します。

さらに、コードが複雑になると、後から修正や編集を加えるのが難しくなったり、どこでエラーが起きているのか特定しにくくなったりします。そのため、 将来的なメンテナンスのしやすさも考慮して、コードの構成を適切に管理することが大切です。

入力フォーム運用の属人化を招く

VBAのコードが複雑化すると、そのフォームを作成した本人以外は手が出せない「属人化」という問題を引き起こす可能性があります。

もし作成者が異動や退職してしまった場合、残された誰もフォームの修正ができなくなってしまうリスクがあります。 そのため、処理内容を記したマニュアルを作成したり、複数人で管理できる体制を整えたりすることが欠かせません。

Excel以外の環境では動作できない

VBAのユーザーフォームは、あくまでExcelの機能の一部であるため、Excelがインストールされている環境でしか動作しません。 そのため、フォームで入力したデータを他のツールやWebアプリケーションに直接連携させることは困難です。

また、動作環境は基本的にWindowsに限定されており、macOSやLinuxでは利用できない点にも注意が必要です。

フォームの作成や管理を簡単にするなら「formrun」もおすすめ!

フォームの作成や管理を簡単にするなら「formrun」もおすすめ!

フォームの作成や管理が簡単にできるフォーム作成ツール「formrun」の特徴は、主に以下の通りです。

  • ノーコードでフォームの作成が完了する

  • 条件分岐で質問を出し分け可能

  • 回答の集計を自動化できる

ノーコードでフォームの作成が完了する

formrunは、プログラミングの知識が一切不要で、ドラッグ&ドロップの直感的な操作だけでフォームを作成できます。

デザインも簡単に調整できるため、デザイナーやエンジニアに依頼せずに、短時間で見栄えの良いフォームを公開可能です。

さらに、120種類以上の豊富なテンプレートが用意されているため、デザイン性の高いフォームをすぐに公開可能です。そのため、デザインに自信のない方でもさまざまなテンプレートを使ってフォームを作成できます。

テンプレートはこちらをご覧ください。
>> テンプレート一覧はこちら

条件分岐で質問を出し分け可能

formrunなら、VBAでは実装が難しい「回答に応じて次の質問を変える」といった条件分岐の設定も、ノーコードで簡単に実装できます。

フォームが長くなると回答者の負担になり、途中離脱や回答率の低下につながることも少なくありません。

条件分岐を使えば、不要な質問を隠してフォームを短くすることはもちろん、回答に応じて次の質問を変えられるため、必要な情報だけを効率よく収集できます。

(例:資料ダウンロードを希望した人にだけメールアドレスを確認、イベント参加希望者にだけ参加日時を選んでもらう など)

こうした工夫により、回答者はストレスなく最後まで入力でき、運営側は欲しい情報を正確に得られるという双方にメリットのあるフォームを実現できます。

しかも、この条件分岐機能は無料で利用可能。回答率を高めたい方や、顧客ごとに最適化された質問設計をしたい方に特におすすめです。

条件分岐機能を利用し、効果を実感している事例記事はこちらをご覧ください。
>> 条件分岐や入力チェック機能が開発不要!必須の機能が用意されたformrunで理想のフォーム画面を実現!(デジタルハリウッド株式会社 様)

回答の集計が自動化できる

フォームから送信された回答は、自動でグラフ化され、リアルタイムで集計結果を確認できます。これにより、アンケート結果の分析にかかる時間を大幅に短縮できます。

自分で表やグラフを作る手間はゼロ。

見やすい形”に整理されたデータをそのまま社内報告に使えるので、キャプチャを貼るだけで資料が完成。日々の集計作業が驚くほどラクになります。

さらに、集計データはExcelやCSV形式で出力できるので、より深い分析に活用することも可能です。

これまでアンケート回答状況の報告に集計の手間がかかっていた方は、ぜひformrunでアンケートフォームを作成し、集計作業まで効率化してみてください。

VBAのユーザーフォームを使って操作性を向上させよう!

VBAのユーザーフォームを使って操作性を向上させよう!

本記事では、VBAユーザーフォームの基本的な使い方から作成手順、メリットや注意点までを詳しく解説しました。

ユーザーフォームは、Excelでの定型的なデータ入力作業を劇的に効率化し、操作性を向上させる強力なツールです。一方で、VBAの知識が必要であったり、Excel以外のツールとの連携が難しいといった側面もあります。

そのため、VBAのユーザーフォームを利用する場合は、メリットと注意点をそれぞれ考慮しておくことが大切です。また、フォームの作成や管理を簡単に行うならフォーム作成ツール「formrun」もおすすめです。

formrunには、主に以下の特徴があります。

  • VBAのユーザーフォームよりフォーム作成が簡単にできる

  • アンケート回答の集計を自動化できる

  • フォーム共有や埋め込みも簡単にできる

  • Excel以外にもさまざまな外部ツールと連携できる

  • ISMS・Pマーク取得済みの万全のセキュリティ

これから入力フォームの作成を検討している方は、VBAのユーザーフォームだけでなく、formrunも検討してみましょう。

まずは、無料でお試ししてみませんか?

無料ではじめる

まずは無料でお試ししてみませんか?
formrunでフォームを作成する

導入相談

formrunに関する内容から、
導入に関するご質問まで、お気軽にご相談ください。

資料ダウンロード

formrunの活用方法などを
詳しく知ることができます。

メガメニューを一時的に格納するセクション(削除しないでください)


お気軽にお試しください


formrunとは

サービス紹介資料

お役立ち情報

ISO/IEC 27001:2022 / JIS Q 27001:2023