Excel VBA リスト形式(プルダウンリスト)の値をVBAで設定する

Excel VBA リスト形式(プルダウンリスト)の値をVBAで設定する

以前、EXCELのプルダウンリスト(データ入力形式をリスト形式)にする手順についてご紹介致しました。

今回は、EXCELのデータ入力形式をリスト形式をVBAを使って動的に設定する手順についてご紹介致します。

Advertisement

考え方

リスト形式の設定にはValidationオブジェクトを使用する

データの入力規則をVBAを使って定義する場合は、Validationオブジェクトを使用します。

書き方としては、以下のような形になります。

次の項で、Validationオブジェクトに対して、具体的に設定していきます。

Validationオブジェクトの設定にAddメソッドを使用する

validationオブジェクトに対して、内容を設定していきましょう。

設定にはAddメソッドを使用します。

リスト形式を設定するにあたって、最低限必要な引数は、以下の2つになります。

・Type

・Formula1

Typeは入力規則の種類を指定する引数です。「Type:=xlValidateList」と入力します。

なお、今回はリストなのでxlValidateListと入力しますが、他の入力規則を使用する場合は対応する内容を入力します。

・Formula1

Formula1は「Formula1:=「任意の値」か「名前定義」か「セルの範囲」」で入力します。

値の設定についての考え方は、以下の記事でも書いています。

 

書き方としては、以下の様な形となります。

コマンドボタンで実行すると、下図の様な形になります。

 

その他のポイント

上記が設定において必要な考え方でしたが、実際にリスト形式に設定する時に考えるポイントは、以下のポイントも考えておくと良いかと思います。

①設定をする範囲
②リスト化する値

あらかじめ、上記2点を管理する手順をイメージしておくと手戻りが発生しないと思います。