本記事では「ユーザーフォームのコンボボックスの使い方」について解説していきます。
ツールを作るうえでフォームとマクロ間での値のやり取りは必要なコンボボックスの「初期値の指定」「値の取得」について書いていきます。
また、本記事で使うユーザーフォームは下の通りです。
では、さっそく解説していきます。
あらかじめコンボボックスに値を入れておく(初期値指定)
あらかじめユーザーフォームにあるコンボボックスに値を入れておくこともできます。
その場合には、エクセルファイル起動時に読み込まれる『Initializeイベント』を使います。
まずは『Initializeイベント』の表示の仕方です。
下のように操作を行ってください。
そして、上で表示されたSubプロシージャーに処理を記述していきます。
今回は対象のコンボボックスに対して『AddItemメソッド』を使って値を追加します。※リストボックスも同様。
1 2 3 4 5 6 7 8 9 |
Sub UserForm_Initialize() With ComboBox1 .AddItem "田中太郎" .AddItem "鈴木次郎" .AddItem "斎藤三郎" End With End Sub |
上のように『対象オブジェクト名.AddItem “〇〇〇〇”』で値を追加できます。
上のコードを実行すると下のような結果が得られます。
コンボボックスで選択(または入力)した値を取得する
コンボボックスで選択(入力)された値を取得する記述は下の通りです。
1 2 3 4 5 |
Sub CommandButton1_Click() MsgBox UserForm1.ComboBox1.Text End Sub |
上はユーザーフォームにある「OKボタン(CommandButton1)」をクリックした際の処理内容になります。
そして、上の3行目のように「ユーザーフォーム名.コンボボックス名.Text」でユーザーフォームで入力された値を取得することができます。
ちなみに上のコードを実行すると下のように表示されます。
今回はメッセージボックスに表示するだけです。
ですが、そのほかにも処理や関数の引数に使うなど、いろいろな使い道があるので、テキストボックスやリストボックス同様に覚えておきましょう。
【VBA】フォームにある複数のコンボボックスで同じ値を設定する方法
VBAでツールを作るときに使うユーザーフォームを使うかと思います。
そのユーザーフォームで使う複数のコンボボックスやリストボックスで同じ項目を扱いたい時があります。
そんなとき、コードでは同じことを繰り返し記述する必要があるので...
〇おすすめのVBA参考書ランキング!
1位 | 2位 | 3位 |
---|---|---|
Excel VBA 脱初心者のための集中講座 | パーフェクトExcel VBA | ExcelVBA 実戦のための技術 |
初心者~中級者 | 中級者 | 初心者~中級者 |
【初心者が手に取るべき参考書】 ・「書籍+動画」で圧倒的に理解しやすい入門書になっている。 ・丁寧で詳しい解説でボリューム感がある。 | 【より深い理解をしたい方にお勧めな参考書】 ・テーマに対して丁寧な解説・適度な深さで解説されている。 ・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。 | 【入門書と一緒に買うべき参考書】 ・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。 ・実践的で効果的なコードの書き方が理解できる。 |
【読んでみた一言】 正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。 | 【読んでみた一言】 深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。 | 【読んでみた一言】 基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。 |
スポンサーリンク