遅刻の「言い訳」選手権

シートに任意の数でコンボボックスがCombobox1~100の間で
作成されます。
たとえば、ある数Nが47になったら、Combobox47のvalueを自動的に拾い、N=20ならばCombobox20のValueを拾いたいたいのですが
合理的な方法ありますでしょうか。

(if 文であらかじめ100個作る以外に)

A 回答 (3件)

次のようにOLEObjectsを使ってみてください。



myVal = Sheets("Sheet1").OLEObjects("Combobox" & N).Object.Value

以上です。
 
    • good
    • 0
この回答へのお礼

ありがとうございました。
上手くできました。

お礼日時:2010/01/29 08:24

こんにちは。


ComboBox1~10までの値を表示するサンプルです。
こんな感じでできませんか?

  Dim i As Integer
  For i = 1 To 10
    Dim combo As ComboBox
    Set combo = Worksheets(1).OLEObjects("ComboBox" & i).Object
    Call MsgBox(combo.Value)
  Next
    • good
    • 1
この回答へのお礼

ありがとうございました。
上手くできました。

お礼日時:2010/01/29 08:25

こんな感じでしょうか?



Dim sVal1 As String
Dim sVal2 As String
Dim sComboBox As String

sVal1 = ComboBox1.Value
sComboBox = "ComboBox" & sVal1

sVal2 = Worksheets("Sheet1").OLEObjects(sComboBox).Object.Value

MsgBox sVal2

参考URL:http://www.happy2-island.com/excelsmile/smile03/ …
    • good
    • 1

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

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


おすすめ情報