2012-01-23 31 views
3

ActiveX ComboBoxに範囲の代わりに文字列を格納することができるかどうかを調査しましたが見つかりませんでした。ListFillRangeで範囲の代わりにVBAストア文字列ActiveXコンボボックス

私のワークブックには、ユーザーが任意のタイプの式を入力するたびにComboBox(など)を再計算するほどの依存関係があります。基礎となる数式ベースの範囲に値を貼り付けて、計算を助けて無駄にすることを止めました。どんな指導も高く評価されます。

更新 - コンボボックスがバインドされており、これは範囲の設定例です。

ThisWorkbook.Worksheets("Securities").OLEObjects("cboList").ListFillRange = "Securities!" & Range("mySecurities").Address 
+0

混乱は、「コンボボックス」の2つの基本タイプが自分であるという事実に関し、 Excelで。参考資料ワークシート自体(OLEオブジェクトとして埋め込まれている)とVBAから純粋にアクセス可能なMSXベースのactiveXコンボボックスの「アクティブX」コンボボックスがあります。 OLEObjectの場合、これは範囲または文字列値の論理的なセットにバインドされる必要があると信じています。 MSFormsのコンボボックスについては、以下のRachelの方法を参照してください。 –

+1

私はactivexが2つの "コンボボックス"を持っていたことに気付きませんでしたが、これは私の混乱を明確にします。正直言って、私はおそらく下のバージョンを使用していただろうが、私の上司はこれのように見えたかったので、私は選択肢がなかった。私はそれが不可能であるというあなたのコメントからそれを取る。入力いただきありがとうございます。 – Brendan

+1

問題ありません。ええ、私は2つの異なる目的のために設計されていると思う。 Formsのバラエティは一般的にはモーダルなので、refeditコントロールを使用しない限り、実行時にRangeを選択することさえできません(変更したいと仮定して)。 –

答えて

3

ControlFormatプロパティのAddItemメソッドを使用します、私は信じている(OPと回答の面で)

With Sheet1.Shapes("ComboBox1").ControlFormat 
    .AddItem "Sunday" 
    .AddItem "Monday" 
    .AddItem "Tuesday" 
End With 
+1

投稿ありがとうございました....残念ながら、残念ながら、私はバインドしているので、私の場合は動作しません。つまり、ドロップダウンすると1つのリストが表示されますが、選択すると別のものが表示されます。私は帰りのvlookupを行うことができると思うが、私はバインドされたコンテキストで.AddItemのようなものを使用することができれば好きだろう。どうもありがとう。 – Brendan

関連する問題