OfficeType

VBA~ユーザーフォームのコンボボックスにユーザーの直接入力を禁止しよう~Excel

ユーザーフォームのコンボボックスにユーザーの直接入力を禁止し選択だけを許可したい場合はStyleプロパティをfmStyleDropDownListに設定します。

書き方

オブジェクト名.Style = fmStyleDropDownList

オブジェクト名はユーザーフォームのオブジェクト名と、コンボボックスのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にコンボボックスを選択すると同じようにコンボボックスのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

UserForm1というユーザーフォームを作成し、ComboBox1というコンボボックスを設定した場合、下のコードを実行するとコンボボックスへの直接入力が禁止され、選択だけが許可されます。

Sub test1()

Load UserForm1
UserForm1.ComboBox1.additem "織田信長"
UserForm1.ComboBox1.additem "豊臣秀吉"
UserForm1.ComboBox1.additem "徳川家康"
UserForm1.ComboBox1.Style = fmStyleDropDownList
UserForm1.Show

End Sub

プロパティウィンドウで設定

作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からコンボボックスを選択します。プロパティウィンドウにStyleの項目があるのでクリックすると▼マークが表示されるので定数を選択してください。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

image-01

image-02

image-03

image-04