前提・実現したいこと
①UserFormのComboboxのアItemを条件によって丸ごと入れ替えたい。
②UserFormを開く際に条件は確定されている。
③Comboboxに入れたいリストは他のDBクラスに記載。(コードが長くなるため)
④データベースクラスのItemリスト(文字列)は条件ごとにひとまとめにしておきたい。
⑤データベースクラスのItemリストは今後データが増えることを考慮して編集はしやすくしたい。(実行時に動的な編集はしない。コーディング時のみ編集する)
⑥ComboboxにItemを入れる際はなるべく手作業でコードを編集しなくて良いように、ループを回したり、対象リストを丸ごといれたい。
下記の試したことでは実現できないようなので、何か代替案を頂ければ幸いです。
データベースクラスのItemリストは新規でつくるため、データ格納方法は変えられます。
試したこと
管理しやすくし、他の処理で数値が使えるため、データベースクラスには条件数分のEnumを作りアイテム名を列挙しました。
'DB class
Enum data1
aaa=1
bbb
ccc
・・・・
fin
End Enum
Enum data2
abab=1
bcbc
・・・・
fin
End Enum
UsrForm側で、
select case 条件
case 条件
For i=1 to (DB.data1.fin -1)
Combobox.addItem DB.data1.列挙子名(index)
Next
・・・
End select
みたいな感じにForループでEnum要素数分アイテムを入れようとしましたが、ご回答いただいたところ、VBAでは列挙子の文字が取得できないようでした。
補足情報(FW/ツールのバージョンなど)
VBA6.5
回答1件
あなたの回答
tips
プレビュー