- ベストアンサー
Excel コンボボックスの値参照
シート上に配置したコンボボックスの選択されている値を マクロの中で参照するにはどうすればよいのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>このままのコードを実行するとDropDowns()が定義されてないとエラーになってしまいます。 どんなエラーかよくわかりませんが、少し追記すると、 まず、『ドロップ 1』はコンボボックスの名前です。新規に作成すると名前ボックス(シートの左上)に表示されます。 コンボボックスに別名を付けている場合はそれに変更します。 次に、 Sub Test1() With DropDowns("ドロップ 1") MsgBox .ListIndex End With End Sub は、Sheet1にコンボボックスがあって、Sheet1のコードウインドウに書く例です。 Sheet1にコンボボックスがあって、標準モジュールに書く場合は、 Sub TestMoj1() With Worksheets("Sheet1").DropDowns("ドロップ 1") MsgBox .ListIndex MsgBox .List(.ListIndex) End With End Sub のようにします。多分メッセージボックスが出ると思いますが・・・(Excel97で確認)
その他の回答 (4)
- nishi6
- ベストアンサー率67% (869/1280)
表示 → ツールバー → フォーム のコンボボックスなら Sub Test1() With DropDowns("ドロップ 1") MsgBox .ListIndex '何番目か(1から) MsgBox .List(.ListIndex) 'リスト End With End Sub 表示 → ツールバー → コントロールツールボックス のコンボボックスなら Sub Test2() With ComboBox1 MsgBox .ListIndex '何番目か(0から) MsgBox .List(.ListIndex) 'リスト End With End Sub のような感じでしょうか。(Excel97です)
お礼
回答ありがとうございます。 知りたかったのは前者です。後者は知りませんでした。 しかし、このままのコードを実行するとDropDowns()が定義されてないとエラーになってしまいます。 お手数をおかけしますが、再度アドバイスを頂ければと思います。
- holy_s
- ベストアンサー率20% (1/5)
こんにちは。 例えば、Sheet1のComboBox1の値を参照したければ、 Sheet1.ComboBox1.Value でOKです。
お礼
回答ありがとうございます。 私の質問の仕方が悪かったようです。 下の方の所へ補足しましたのでもしご存知であれば 再度回答をお願いします。
- akasaka
- ベストアンサー率38% (38/99)
私は… コンボボックスに着けた名前.Value …で、参照しています。
お礼
回答ありがとうございます。 私の質問の仕方が悪かったようです。 下の方の所へ補足しましたのでもしご存知であれば 再度回答をお願いします。
- zerosix
- ベストアンサー率31% (47/149)
ComboBox1.Valueでできますよ。 Sub b() ComboBox1.ListIndex = 1’選択した行番号 MsgBox ComboBox1.Value End Sub
お礼
回答ありがとうございます。 知らなかったのですが、上の方の回答にあるようにコンボにも2種類あるのですね。 今回知りたかったのはフォームツールバーから作成したコンボボックスで、Object名を自分で設定できなかったので値の参照方法が分りませんでした。
お礼
標準モジュールに書いていたのにシートの指定を記述していなかったのが原因でした。 おかげで助かりました、ありがとうございました。