2001.12.27

 

 

※ちょっと今度実験し直ししてみるか。Excel2000くらいの情報。

 

コンボボックスやリストボックスにデータを表示する場合、データを一件ずつ追加していくことがあるが、件数が多いとどうしても遅くなる。

 

代替手段として2つある。

 

一つ目。.RowSource プロパティにワークシート上のデータ領域を設定する方法。

これはワークシート上に行削除や行挿入が行われるとリンクが外れるので、都道府県などめったなことで変動がない情報に向く。  

 

二つ目。.List プロパティにRedimで割り当てた配列を設定する方法。.Column プロパティにも設定はできるが、実務上は .Listだろう。

一次元、つまり Redim (n) の定義のものであれば一列の選択項目が m 行作られる。

二次元、つまり Redim (n, m) の定義のものであればn列分の項目を持ったリストが m 行作られる。

試していないが、Redim (n) の定義した Type の項目は、Typeの項目数だけ列を持ったリストが n 列分作られるかと思う。逆の場合は .Column を使うことで逃げられるかも。ただ、.Columnを使うときは .ColumnCount を大きくとる必要があることに注意。