2011-06-07 9 views
1

ComboBoxの値を名前付き配列定数として設定したい場合は、名前マネージャーに移動して名前を定義し、 :名前付き配列定数を使用してExcelのActive-X ComboBoxを埋め込む方法

={"A", "B", "C"} 

私は、ListFillRangeには範囲しか取らないため、割り当てできないことがわかりました。

それはそうのように、通常の名前付き範囲のために働くだろうけど:

myComboBox.ListFillRange = "MyList" 

それでは、どのようにコンボボックスを埋めるために、名前付き配列定数を割り当てていますか?

答えて

2

くらい検索した後、私はこの解決策を見つけた:

myComboBox.List() = Evaluate(ThisWorkbook.Names("MyList").RefersTo) 
+0

を使用してListfillrangeを割り当て。 –

1

私はあなたの方法が私のために動作させることはできませんが、それはおそらく私のセットアップですか?

それは私が私が

  1. は、アイテムによって、プログラム項目

または

2iのリストをロードしますいずれかにこれをしようとしていた場合)を任意に "J" はlistfill範囲

であると仮定

2ii) "COLJ" = = Sheet1!$ J $ 2:INDEX($ J $ 2:$ J $ 65000、COUNTA($ J $ 2:$ J $ 65000))という名前の範囲を定義する

2II)コピー/ J2にしたい項目をフィルタ:Jxを

2II)あなたはまた、代わりに "RefersTo" の "価値" を使用することができVBA、myComboBox.ListFillRange = "COLJ"

+0

私は意図的にセルやVBAで自分のリストを持つことを避けようとしていました。私はコンボボックスのリストを細胞に持っているのが気に入らない。私の現在のプロジェクトがVBAで物事を割り当てるのは大丈夫でしたが、すべてのスプレッドシートで一貫性があり解決できるソリューションを探していました。 –

+0

私はあなたに同意しますが、Excel/VBA/Userformsはklugeを作成します:)私が知っているのは、「高度なフィルタ」はExcelのあなたの友人です。また、リストがコントロールと同じワークシートにない場合、問題が発生します。 – osknows

関連する問題