- ベストアンサー
リストボックスの値を拾う方法
- リストボックスの値を取得する方法について説明します。
- VBAのコードを使用して、リストボックスの選択された値を変数に格納する方法を説明します。
- VBA初心者の方でも簡単に理解できる解決法を提供します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。Meとはこの場合はUserForm自身を 指します。つまり、 Me!ListBox1 とはUserForm自身にあるListBox1を指しています。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
リストボックスはUserFormに設置してあるのでは と思いますが、hinban = Me!ListBox1.List(i, 1) のようにMe!をつければListBox1を認識できると思います。 まず、以下のようにしてみてください。 なお、hinbanが変数宣言されていないので 以下のように宣言していますが、hinbanの型 が分からないのでVariantとしています。 Private Sub CommandButton1_Click() Dim i As Integer Dim hinban As Variant With Worksheets("Sheet1") For i = 0 To Me!ListBox1.ListCount - 1 hinban = Me!ListBox1.List(i, 1) MsgBox hinban Next i End With End Sub メッセージボックスが二番目の配列の値を 連続して表示します。あるいは、 With Worksheets("Sheet1") For i = 0 To Me!ListBox1.ListCount - 1 hinban = hinban & Me!ListBox1.List(i, 1) & vbCrLf Next i End With MsgBox hinban とすればメッセージボックスにすべての二番目の配列の値 を表示します。 なお、With Worksheets("Sheet1")とEnd With はUserformにリストボックスがある場合は 上記のコードでは必要ありません。この 二つをコメントアウトしても機能します。 これを土台にして機能を付加していってみたら どうですか。
- nicotinism
- ベストアンサー率70% (1019/1452)
リストボックスの二番目の配列は ListBox1.Column(pvargColumn:=1) で求められるかと。
お礼
回答ありがとうございました。 コピーペーストで内容も分からず書いているもので変な質問ですみませんでした。 教えていただきましたコマンドも含めて勉強します。
お礼
ありがとうございます。 詳しい説明とサンプルプログラムありがとうございました。 ご指摘の通りリストボックスはUserFormにあり、hinbanを標準モジュールで受け取って標準モジュールデ処理をするというプログラムです。 早速サンプルプログラムを試してみます。 本当にありがとうございました。