EXCEL VBA ドロップダウンリスト・プルダウンリスト・コンボボックスの作成(リスト選択)

 

 

EXCEL VBA ドロップダウンリスト・プルダウンリスト・コンボボックスの作成(リスト選択)

 

 

 ●はじめに

EXCELでデータを選択する際や同じデータを登録する時に利用するのが、ドロップダウンリスト(プルダウンリスト)です。通常のEXCELでドロップダウンリストを使用する場合は、リストの内容を変更する時は、リストを再設定する必要があります。そのドロップダウンリストをEXCEL VBAで利用すると、簡単にリストを再設定する事が可能です。それでは、サンプルプログラムを交えて説明します。

 

 

 ●書式の説明  「ValidationAddメゾット」

 

● Rangeオブジェクト.Add(Type,Alertstyle,Operator,Formula1,Formula2)

●『使用例』
Range(“A1″).Validation.Add Type:=xlValidateList, Formula1:=”上期,下期”
 Formula1:=”上期,下期”  ‘ ⇒ (リスト内容の設定)

パラメータ(引数)必須・省略可能説明
Type    必  須入力規則の種類を指定します。
Alertstyle省略可能入力規則でのエラースタイルを指定する事が出来ます。
Operator省略可能データ入力規則の演算子を指定します。
Formula1省略可能データ入力規則での条件式の最初の部分を指定します。 値は 255 文字を超える事はできません。
Formula2省略可能引数_Operator_がXlbetweenまたはxlnotbetweenの場合、データ入力規則の2番目の部分を指定します。それ以外の場合、この引数は無視します。

 

 

ValidationAddメゾットを使ってのドロップダウンリストの注意点
・VBAプログラムを利用してドロップダウンリストを作成する際に、1つ注意点があります。それは、一度ドロップダウンリストを作成したセルで、再度、ドロップダウンリストを作成すると、エラーが発生します。

【エラーを回避する方法】
・一度ドロップダウンリストを削除します。(作成したセル)
・再度、ドロップダウンリストを作成します。

 

 

 

 

 

 

ドロップダウンリストの作成(プルダウンリストの作成)

 

 ●プログラム説明 (サンプル①) ValidationAddメゾット
下記のサンプルプログラムは、ドロップダウンリストを作成するサンプルプログラムです。
セルの「B3」と「D3」に山手線の駅名のドロップダウンリストを作成します。登録するリストデータは、プログラム内に記述(駅名)しております。

 

 

●実行前~実行後 ※プログラム実行後、セルの「B3」・「D3」にドロップダウンリストが作成されました。
(画面クリックして拡大)

 

 

 

ドロップダウンリスト範囲を自動取得

 

 ●プログラム説明 (サンプル②) ValidationAddメゾット

下記のサンプルプログラムは、サンプル①同様にドロップダウンリストを作成するサンプルプログラムですが、サンプル①は、プログラム内にドロップダウンリスト内容を記述しておりましたが、今回は、ワークシートのF列にリストを作成してプログラムを実行するたびにリスト内容を更新します。また、リストに登録されていない内容を入力するとエラーメッセージが表示する様に設定しています。

 

 

 ●実行前~実行後 ※プログラム実行後、F列に設定してあるドロップダウンリスト内容を元にリスト内容が更新されました。
(画面クリックして拡大)

 

 

 

ドロップダウンリストの範囲を別のシートから取得(別シート参照)

 

 ●プログラム説明 (サンプル③) ValidationAddメゾット

下記のサンプルプログラムは、ドロップダウンリストの範囲を別シートから取得するサンプルプログラムです。2つのワークシート「小口現金出納帳」・「項目マスター」を作成して、「小口現金出納帳」にデータ入力用のドロップダウンリストを作成し、「項目マスター」には、ドロップダウンリストの元となるデータ(勘定科目)・(補助科目)・(消費税区分)を登録してリスト管理します。

 

●下記のサンプルプログラムを実行する際は、下記の通りにシート名を設定して下さい。
※ シート名:「小口現金出納帳」  ドロップダウンリストを作成します。
※ シート名:「項目マスター」   ドロップダウンリストのデータ参照に利用します。

 

 

 

 

  ●実行前~実行後 ※プログラム実行後、ワークシート「小口現金出納帳」の項目(勘定科目)・(補助科目)・(消費税区分)にドロップダウンリストが作成されました。ドロップダウンリストの元データは、ワークシート「項目マスター」から取得しています。
なお、「項目マスター」を追加・修正後にプログラムを実行しますと、ドロップダウンリストの内容も追加・修正されます。
(画面クリックして拡大)

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。