|
おはようございます。
><<要件>>
>シートA上に動的に作成されるコンボボックスがあります。
>このコンボボックス内に設定されている値を選択した際に
>セルAにコンボ内の値をセットさせたい
クラスモジュールやWitheventsの使用方法を習得することは
大事なことですから、その例としてのコードは
ここの過去ログで「クラス」とか「WithEvents」等をキーワードに
検索してみてください。沢山あると思います。
問題は、「シートA上に動的に作成されるコンボボックス」です。
コマンドバー「コントロールツールボックス」内のコントロールの
動的な作成にはいくつか問題があります。
大きな問題として、モジュールレベルの変数がコントロール作成時に
初期化されてしまうことです。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=7011;id=excel
Witheventsを使用する変数はどうしてもモジュールレベルの変数ですよね?
これが初期化されてしまうとイベントは発生しませんからねえ・・・。
コンボボックス動的作成の場合は、仕様によっては
コマンドバー「フォーム」のコンボボックスが代替できないか
検討してみてください。
又は、予め必要なコントロール(コマンドバー「コントロールツールボックス」内の
コントロール)を用意しておいて非表示にしておき必要に応じて表示する方法等も
考慮してください。
ということで再度 仕様を見直してみてください。
|
|