VBAのユーザーフォームでコンボボックスの作り方
前回の記事ではコマンドボックスの使い方を紹介しましたが、今回はVBAのユーザーフォームでコンボボックスの作り方について紹介します。
使用する場合の事例や作り方、セルへの転記する方法などもお伝えしますので、是非この記事を読んでコードを入力してみましょう。
コンボボックスとは?
【画像挿入】
コンボボックスとは、上の画像のようにクリックすると複数の選択肢を表示することができるボックスです。
アンケートを送信するフォームなどによく使われますが、「県名を入力するとき」「部署を選択するとき」「コースを選択するとき」のように複数の選択肢から選びたいときに便利です。
VBAのユーザーフォームでコンボボックスの作り方
まずはAlt+11でVBAの入力画面を表示させ、ユーザーフォームを挿入しましょう。
コンボボックスの表示
コンボボックスを表示する場合、下の画像のようにツールボックスからコンボボックスを選択します。
左上から右下にドラッグすると配置されますので、好きな位置に表示させましょう。
コンボボックスを使用するときはボタンも併用する場面が多いため、ボタンも設置します。
もしボタンの表示方法が分からない方は以下の記事を参考にしましょう。
ユーザーフォームを開いたら県名を表示
続いて、ユーザーフォームを開いたときに県名を選択できるよう、初期設定を行います。ユーザーフォームの空いている場所をダブルクリックしましょう。
コードの入力画面が表示されますので、一度削除し、以下のコードを入力します。
1 2 3 4 5 6 7 8 |
Private Sub UserForm_Initialize() With ComboBox1 .AddItem "愛媛県" .AddItem "高知県" .AddItem "香川県" .AddItem "徳島県" End With End Sub |
画面は以下のようになります。
UserForm_Initializeはユーザーフォームを開いたら実行するという意味です。
AddItemでコンボボックスに好きな文字を表示させれるようになります。
また、ユーザーフォームを開けるよう、標準モジュールにも以下のコードを入力します。
1 2 3 |
Sub 表示() UserForm1.Show End Sub |
今のままではユーザーフォームを表示させた場合、表示する文字の大きさが小さくなります。
以下の画像のように、「項目別」→フォントの「…」→サイズの選択
コンボボックスの値をセルに転記
次に、コンボボックスの値をセルに転記してみましょう。
まずはコマンドボックスをダブルクリックし、コードの入力画面に移動します。
コードを以下のように入力しましょう。
1 2 3 |
Private Sub CommandButton1_Click() Range("A1").Value = ComboBox1 End Sub |
上記のコードにより、下の画像のようにコンボボックスで選択した内容がA1のセルに入力されます。
まとめ
今回の記事ではVBAでユーザーフォームのコンボボックスの作り方を紹介しました。
実際に使用するタイミングとしては「県名を入力するとき」「部署を選択するとき」「コースを選択するとき」のように決まった選択肢から選択するようなフォームのときに役立ちます。
まずはコンボボックスの作り方という意味で基本的な部分のみ紹介しましたが、コンボボックスは複数の項目を選択し、Excelに転記することができます。
今後も記事を更新していきますので、是非参考にしていきましょう。
Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。
仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
以下のExcel記事もおすすめです。