Excel 関連のページです > Excelマクロの使い方 > はじめてのユーザーフォーム


はじめてのユーザーフォーム

このページでは、ユーザーフォームを使ったマクロの作成手順をご紹介します。マクロの内容は、リストボックスで選択した項目をアクティブセルに入力するものです。


まず、Excelを起動して、新規ブックを作成します。

Sheet1のA1:A5にテストデータを入力します。


Visual Basic Editorを起動します。


アクティブブックのプロジェクトに標準モジュールを挿入します。


ユーザーフォームを表示するマクロを作成します。

このページをご覧になっているブラウザ上で、以下のマクロをマウスで範囲選択してコピーし、コードのウィンドウに貼り付けしてください。

Sub MyFormShow()
    UserForm1.Show
End Sub

これでマクロが作成されました。


次にユーザーフォームを挿入します。


ユーザーフォームが挿入されてツールボックスが表示されました。


リストボックスを作成します。ツールボックスでリストボックスのボタンをクリックしてから、ユーザーフォーム上で配置したい位置をドラッグします。図形を作成する要領です。


リストボックスが作成されました。位置や大きさはマウス操作で変更できます。


リストボックスに表示する項目をプロパティウィンドウで設定します。リストボックスを選択して右クリックし、[プロパティ]を選択します。


RowSource の項目に Sheet1!$A$1:$A$5 と入力します。


リストボックスにワークシート上の項目が表示されました。


コマンドボタンを作成します。ツールボックスでコマンドボタンのボタンをクリックしてから、ユーザーフォーム上で配置したい位置をドラッグします。


コマンドボタンが作成されました。


コマンドボタンをクリックしたときに実行するコードを作成します。コマンドボタンをを選択して右クリックし、[コードの表示]を選択します。


コードのウィンドウが表示されたら、1行追加して以下のようにしてください。アクティブセルにリストボックスの選択項目を入力するというコードです。

Private Sub CommandButton1_Click()
    ActiveCell.Value = ListBox1.List(ListBox1.ListIndex)
End Sub

これでとりあえずマクロは完成です。


それではマクロを実行してみましょう。

Excelに戻り、適当なセルを選択して、マクロ実行のダイアログボックスを表示します。


MyFormShowマクロを選択して[実行]ボタンをクリックします。


ユーザーフォームが表示されます。リストボックスの項目を選択してボタンをクリックすると、アクティブセルに選択項目が入力されます。


いかがでしたか? はじめの一歩は踏み出せたでしょうか。