Excel ユーザーフォームに 2 つの垂直方向に接触する ComboBoxes があり、どちらも設計時に追加され、どちらもバインドされた列を持っていません。ComboBox1 で選択が行われると、「さらに選択を行う ===>」などのテキストを ComboBox2 に表示したいと考えています。このテキストは、ComboBox2 で選択が行われると消えるはずです。
どうやってやるの?
最終結果として何を達成したいのかを知るのに役立ちます。
1 つの可能性は、コンボ 2 の行ソースを設定するユニオン クエリです。
SELECT -1 As ID,"Make further selection ===>" As Something FROM Table1
UNION ALL
SELECT ID, Something FROM Table1
コンボボックス 1 の After Update イベントを使用して行ソースを設定できますが、値を固定したい場合は、バインドされた列を設定する必要があります。
テキストを強制的に ComboBox に入れようとすると、私が達成しようとしていたマイナーな効果に比例して、本当に厄介であることがわかりました。
だから私はそのアプローチを放棄し、テキストを ComboBox に入れようとする代わりに、ComboBox2 の上に配置された Label に入れています (ただし、DropButton は表示したままです)。Label に変更すると、テキストの書式設定が改善され、2 つの ComboBox の Change イベントを使用して、Label の Z オーダーを切り替えます。
したがって、私の質問に対する答えは、私の元のアプローチに従おうとすることは努力する価値がなく、それを行うためのより良い方法があるということです.