質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

2回答

24290閲覧

VBA ユーザーフォームのコンボボックスにリストが表示されない。

zuzu1984

総合スコア31

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2017/08/21 12:46

只今、VBAを習得しようと励んでいますが、またまた躓いてしまいました。。。

【やりたいこと】
・ユーザーフォームのコンボボックスを使う。
・コンボボックスにリストを表示(←されない)。
・コンボボックスで選んだ文字列を使用し、検索をかける。

一応、本を読んだりネットで拾った除法は以下のとおりで、コンボボックスにリストが捧持されると思ったのですが、リストは空欄のまま表示されません。
どうすれば表示されるようになるでしょうか。

VBA

1Option Explicit 2 3Sub ユーザーフォームの表示() 4 UserForm1.Show vbModeless 5End Sub 6Private Sub Search_Click() 7 8End Sub 9 10Private Sub ComboBox1_Change() 11 .AddItem "みかん" 12End Sub 13 14Private Sub CommandButton2_Click() 15 Unload UserForm1 16End Sub 17

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ユーザーフォーム上で右クリックの「コードの表示」をクリックして、下記のように記述します。

Option Explicit 'Searchボタン Private Sub CommandButton1_Click() End Sub 'Closeボタン Private Sub CommandButton2_Click() Unload UserForm1 End Sub Private Sub UserForm_Initialize() ComboBox1.AddItem "みかん" ComboBox1.AddItem "りんご" ComboBox1.AddItem "バナナ" End Sub

これで、ユーザーフォームを表示させると、ドロップダウンリストに、みかん、りんご、バナナ が表示されます。

コンボボックスの使い方の詳細は下記を参照。

コンボボックス(ComboBox)の追加|Excelユーザーフォーム入門

下記のコードは標準モジュールに記述します。

Sub ユーザーフォームの表示() ' UserForm1がモードレスで呼び出される。 UserForm1.Show vbModeless End Sub

シート上で[開発]-[挿入] からフォームコントロールの[ボタン]を選択して、シートをクリックします。
「マクロの登録」が開きますので、そこで「ユーザーフォームの表示」を選択します。
これで、このボタンをクリックするとユーザーフォームが表示されます。

投稿2017/08/21 13:13

編集2017/08/21 13:25
hatena19

総合スコア33610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これはブックの中のコードでしょうか?

解決するには、UserForm1initialize.AddItem "みかん"をすると、たぶん問題解決です。

以下参考までにコメントを追記します。

VBA

1' 明示的に定義 2Option Explicit 3 4Sub ユーザーフォームの表示() 5 ' UserForm1がモードレスで呼び出される。 6 UserForm1.Show vbModeless 7End Sub 8 9Private Sub ComboBox1_Change() 10 ' ComboBox1が変わるときに、"みかん"が追加される 11 ' が、恐らくブックにはComboBox1がないので、変えようがなく追加もされない、ということが起きてます。 12 ' UserForm1の中のInitializeで.AddItem "みかん"で解決できます。 13 14 .AddItem "みかん" 15End Sub 16 17Private Sub CommandButton2_Click() 18 ' CommandButton2がクリックされたときにUserForm1がアンロードされる 19 Unload UserForm1 20End Sub

投稿2017/08/21 13:11

編集2017/08/21 13:12
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問