「あー、また1行ズレて入力しちゃった……。この大量のデータをミスなく入れるなんて無理ゲーだよ……」
そんな経験はありませんか?
私も昔、数千行の顧客データを手入力していた時、あまりの苦痛に「Excelが自動的に分かりやすい入力画面を出してくれたらいいのに」 と空を仰いだことがあります。
実はExcelには、自分専用の「入力画面(アプリのようなウィンドウ)」を作成できる「ユーザーフォーム」という便利な機能があります。
これを活用することで、入力ミスが減るだけでなく、1件あたりの作業時間が30秒から10秒へと、約7割も短縮できるようになります。
今回は、その第一歩である「フォームの挿入から表示(Show)」までを、わかりやすくお伝えします。
ユーザーフォーとは?
例えるなら、ユーザーフォームは飲食店にある「注文用タブレット」のようなものです。
居酒屋や回転寿司の席で、画面をタッチして注文するあのシステムをイメージしてみてください。
あれこそが、Excelにおけるユーザーフォームの役割になります。
データの詰まった複雑な「注文リスト(Excelシート)」を直接編集しなくても、専用画面から入力するだけで正しくデータが記録される仕組みになっています。
ステップ1:ユーザーフォームを「挿入」する
まずは、データを収めるための「外枠(箱)」を作成します。
- Excelを開いた状態で [Alt] + [F11] キーを押し、VBAの編集画面(VBE)を立ち上げます。
- 画面上部にあるメニューから「挿入」をクリックしてください。
- 続いて「ユーザーフォーム」を選択します。
これだけで、灰色のポツポツがついた四角い画面が出てきます。これが、作成するアプリの「顔」となる部分です。

ステップ2:コントロール(部品)を置く
次に、文字の入力欄や決定ボタンなどの部品を配置していきましょう。
「ツールボックス」という小さな窓が出てくるので、そこから必要なアイコンを選んでフォームの上にドラッグ&ドロップします。
- ラベル(A):説明書きのパーツ(例:「名前を入力してください」)
- テキストボックス(ab|):文字や数値を入力するエリア
- コマンドボタン:処理を実行する「OK」や「送信」などのボタン
最初から作り込もうとせず、まずはシンプルに「閉じる」ボタンを1つだけ配置してみるのがおすすめです。
ステップ3:魔法の言葉「Show」で表示させる
ここからが最も大切なポイントになります。
実は、フォームを作っただけでは自動的にExcelの画面には表示されません。
プログラムを使って「画面に表示して」と指示を出す必要があります。
標準モジュール(「挿入」→「標準モジュール」)に、以下のコードをコピペしてください。
' ユーザーフォームを表示するためのプログラム
Sub OpenMyForm()
' UserForm1(作ったフォームの名前)を表示
UserForm1.Show
End Sub
この「UserForm1.Show」という、たった1行のコードが、Excelとユーザーフォームをつなぐ大切な架け橋になります。

凝りすぎ注意!まずは小さく始めましょう
かくいう私も初心者の頃、ボタンを50個ほど並べた超豪華なフォームを作ろうとして挫折した経験があります。
「あれ、このボタンは何のために配置したっけ?」と自分でもわからなくなったり、作業が停滞して「これなら普通に手入力した方が早かったのでは……」という、苦い思い出が残っています。
だからこそ、まずは「画面に表示させること」を目標にするだけで十分です。小さくスタートして、必要に応じて少しずつ便利な機能を追加していきましょう!
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。


コメント