EXCELのVBA LISTBOXに関することで質問です。

ワークシート1のA2-5セルに取引先名を入力してあります。

UF1という名前のユーザーフォームの中にリストボックスを作成し、ワークシート1のA2-5の取引先を表示するには、

Private Sub UserForm_Initialize()
Dim torihiki As String
torihiki = Worksheets(1).range("A2:A5")
UF1.ListBox1.List() = torihiki
End Sub

と打ち込んでいます。
ちなみに、ユーザーフォームは以下のようにOKボタンで閉じるようにしました。

Private Sub CommandBottan1_Click()
unload UF1
End Sub

質問したいのはここからですが、
上のユーザーフォーム内のリストボックスで選択された取引先をTRHKという変数に代入したい場合、どうしたらいいのでしょうか?

私の少ない知識を振り絞って以下のように考えてみたのですが、
TRHK = UF1.ListBox1.List()
としても代入されていないようです。

List()ではないメソッドが必要なのだと思うのですが・・・・
.Selectedとかでしょうか?

どなたか、ご教授願います!
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

EXCEL2003ではこんな感じでいけます。





Private Sub UserForm_Initialize()
ListBox1.AddItem "aaaaa"
ListBox1.AddItem "bbbbb"
ListBox1.AddItem "ccccc"
End Sub


Private Sub CommandButton1_Click()

If ListBox1.ListIndex = -1 Then
MsgBox "値未選択です"
Else
MsgBox ListBox1.List(ListBox1.ListIndex) '<------ここかな
End If

End Sub
    • good
    • 0

下記を参考に


Private Sub UserForm_Initialize()
Dim torihiki As Variant
torihiki = Worksheets(1).Range("A2:A5")
UserForm1.ListBox1.List() = torihiki
End Sub
ヴァリアント変数の使い方に注意。
ーー
リストボックスのクリックしたアイテムを取るのは
Private Sub ListBox1_Click()
Range("B1") = UserForm1.ListBox1.List(ListBox1.ListIndex)
End Sub
ーー
こんなところへ質問しなくてもこの程度のことは、Googleででも「VBA Listbox」で照会すれば記事が出るよ。
一例
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2011/04/21 11:08

このQ&Aに関連する人気のQ&A

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


人気Q&Aランキング