プロが教えるわが家の防犯対策術!

シート上に配置したコンボボックスの選択されている値を
マクロの中で参照するにはどうすればよいのでしょうか?

A 回答 (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で確認)
    • good
    • 3
この回答へのお礼

標準モジュールに書いていたのにシートの指定を記述していなかったのが原因でした。
おかげで助かりました、ありがとうございました。

お礼日時:2001/09/25 18:25

表示 → ツールバー → フォーム のコンボボックスなら


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です)
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
知りたかったのは前者です。後者は知りませんでした。
しかし、このままのコードを実行するとDropDowns()が定義されてないとエラーになってしまいます。
お手数をおかけしますが、再度アドバイスを頂ければと思います。

お礼日時:2001/09/25 13:44

こんにちは。



例えば、Sheet1のComboBox1の値を参照したければ、

Sheet1.ComboBox1.Value

でOKです。
    • good
    • 3
この回答へのお礼

回答ありがとうございます。
私の質問の仕方が悪かったようです。
下の方の所へ補足しましたのでもしご存知であれば
再度回答をお願いします。

お礼日時:2001/09/25 13:39

私は…



コンボボックスに着けた名前.Value

…で、参照しています。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
私の質問の仕方が悪かったようです。
下の方の所へ補足しましたのでもしご存知であれば
再度回答をお願いします。

お礼日時:2001/09/25 13:38

ComboBox1.Valueでできますよ。



Sub b()
ComboBox1.ListIndex = 1’選択した行番号
MsgBox ComboBox1.Value

End Sub
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
知らなかったのですが、上の方の回答にあるようにコンボにも2種類あるのですね。
今回知りたかったのはフォームツールバーから作成したコンボボックスで、Object名を自分で設定できなかったので値の参照方法が分りませんでした。

お礼日時:2001/09/25 13:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A