【VBA】ボタンを押したらユーザーフォームが表示される仕組みを作る方法

目次

経緯

Excelでツールを作成する際、ユーザーからの入力や操作を簡単にしたいと思うことがあります。
そのため、私はユーザーフォームを活用してプログラムを組んでいるのですが、
完成したユーザーフォームをExcelシート上のボタンから呼び出せるようにしたいと考え、今回その方法を学びました。

実現したい仕様

  • Excelシートに図形ボタンを配置
  • ボタンをクリックすると、作成済みのユーザーフォームが表示される
  • ユーザーフォームは事前にVBAで作成済みであることが前提

実装手順とコード

1. ボタン(図形)の作成

まず、Excelのシート上に任意の図形を配置します。

  • Excelのリボン →「挿入」→「図形」
  • 「四角形」など好きな形を選んで配置
  • 形の中に「フォーム表示」など、わかりやすいラベルを入力

2. モジュールにコードを書く

次に、VBAエディタを開き、「標準モジュール(Module1など)」に以下のようなマクロを記述します。
ここでは「UserForm1」を表示する想定です。

Sub ShowUserForm()
    UserForm1.Show
End Sub

UserForm1 は実際に作成済みのユーザーフォーム名に合わせて変更してください。

3. 図形にマクロを登録する

  1. 図形を右クリック
  2. 「マクロの登録」→ 先ほど作成した「ShowUserForm」を選択
  3. 「OK」をクリック

これで、図形をクリックするだけでユーザーフォームがポップアップ表示されるようになります。

補足:UserFormの作成がまだの場合

ユーザーフォームは、VBAエディタの「挿入」→「ユーザーフォーム」から簡単に追加できます。
テキストボックスやボタンなどを配置し、イベント処理を加えることで、入力画面や管理画面として使うことができます。

まとめ

  • Excelシートからユーザーフォームを呼び出すには、標準モジュールにマクロを記述し、図形ボタンに割り当てるだけ
  • UserForm1.Show でフォームを表示可能
  • 複雑なUIを作らなくても、VBAで手軽にフォーム入力が実現できる

日々の業務を効率化したい方や、より使いやすい入力ツールを作りたい方には特におすすめです。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次