OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Excel コンボボックスの値参照

  • 困ってます
  • 質問No.141011
  • 閲覧数1737
  • ありがとう数7
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 75% (34/45)

シート上に配置したコンボボックスの選択されている値を
マクロの中で参照するにはどうすればよいのでしょうか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.5
レベル13

ベストアンサー率 68% (791/1163)

>このままのコードを実行すると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で確認)
お礼コメント
smatsuz

お礼率 75% (34/45)

標準モジュールに書いていたのにシートの指定を記述していなかったのが原因でした。
おかげで助かりました、ありがとうございました。
投稿日時 - 2001-09-25 18:25:00
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル10

ベストアンサー率 31% (47/149)

ComboBox1.Valueでできますよ。 Sub b() ComboBox1.ListIndex = 1’選択した行番号 MsgBox ComboBox1.Value End Sub ...続きを読む
ComboBox1.Valueでできますよ。

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

End Sub
お礼コメント
smatsuz

お礼率 75% (34/45)

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

  • 回答No.2
レベル9

ベストアンサー率 38% (38/99)

私は… コンボボックスに着けた名前.Value …で、参照しています。 ...続きを読む
私は…

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

…で、参照しています。
お礼コメント
smatsuz

お礼率 75% (34/45)

回答ありがとうございます。
私の質問の仕方が悪かったようです。
下の方の所へ補足しましたのでもしご存知であれば
再度回答をお願いします。
投稿日時 - 2001-09-25 13:38:13
  • 回答No.3
レベル4

ベストアンサー率 20% (1/5)

こんにちは。 例えば、Sheet1のComboBox1の値を参照したければ、 Sheet1.ComboBox1.Value でOKです。 ...続きを読む
こんにちは。

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

Sheet1.ComboBox1.Value

でOKです。
お礼コメント
smatsuz

お礼率 75% (34/45)

回答ありがとうございます。
私の質問の仕方が悪かったようです。
下の方の所へ補足しましたのでもしご存知であれば
再度回答をお願いします。
投稿日時 - 2001-09-25 13:39:21
  • 回答No.4
レベル13

ベストアンサー率 68% (791/1163)

表示 → ツールバー → フォーム のコンボボックスなら Sub Test1()   With DropDowns("ドロップ 1")     MsgBox .ListIndex '何番目か(1から)     MsgBox .List(.ListIndex) 'リスト   End With End Sub 表示 → ツールバー → コ ...続きを読む
表示 → ツールバー → フォーム のコンボボックスなら
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です)
お礼コメント
smatsuz

お礼率 75% (34/45)

回答ありがとうございます。
知りたかったのは前者です。後者は知りませんでした。
しかし、このままのコードを実行するとDropDowns()が定義されてないとエラーになってしまいます。
お手数をおかけしますが、再度アドバイスを頂ければと思います。
投稿日時 - 2001-09-25 13:44:19
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ