経緯
Excelでツールを作成する際、ユーザーからの入力や操作を簡単にしたいと思うことがあります。
そのため、私はユーザーフォームを活用してプログラムを組んでいるのですが、
完成したユーザーフォームをExcelシート上のボタンから呼び出せるようにしたいと考え、今回その方法を学びました。
実現したい仕様
- Excelシートに図形ボタンを配置
- ボタンをクリックすると、作成済みのユーザーフォームが表示される
- ユーザーフォームは事前にVBAで作成済みであることが前提
実装手順とコード
1. ボタン(図形)の作成
まず、Excelのシート上に任意の図形を配置します。
- Excelのリボン →「挿入」→「図形」
- 「四角形」など好きな形を選んで配置
- 形の中に「フォーム表示」など、わかりやすいラベルを入力
2. モジュールにコードを書く
次に、VBAエディタを開き、「標準モジュール(Module1など)」に以下のようなマクロを記述します。
ここでは「UserForm1」を表示する想定です。
Sub ShowUserForm()
UserForm1.Show
End Sub
※ UserForm1 は実際に作成済みのユーザーフォーム名に合わせて変更してください。
3. 図形にマクロを登録する
- 図形を右クリック
- 「マクロの登録」→ 先ほど作成した「ShowUserForm」を選択
- 「OK」をクリック
これで、図形をクリックするだけでユーザーフォームがポップアップ表示されるようになります。
補足:UserFormの作成がまだの場合
ユーザーフォームは、VBAエディタの「挿入」→「ユーザーフォーム」から簡単に追加できます。
テキストボックスやボタンなどを配置し、イベント処理を加えることで、入力画面や管理画面として使うことができます。
まとめ
- Excelシートからユーザーフォームを呼び出すには、標準モジュールにマクロを記述し、図形ボタンに割り当てるだけ
UserForm1.Showでフォームを表示可能- 複雑なUIを作らなくても、VBAで手軽にフォーム入力が実現できる
日々の業務を効率化したい方や、より使いやすい入力ツールを作りたい方には特におすすめです。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
