• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストボックスの値を拾うには)

リストボックスの値を拾う方法

このQ&Aのポイント
  • リストボックスの値を取得する方法について説明します。
  • VBAのコードを使用して、リストボックスの選択された値を変数に格納する方法を説明します。
  • VBA初心者の方でも簡単に理解できる解決法を提供します。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

#2です。Meとはこの場合はUserForm自身を 指します。つまり、 Me!ListBox1 とはUserForm自身にあるListBox1を指しています。

homma
質問者

お礼

ありがとうございます。 詳しい説明とサンプルプログラムありがとうございました。 ご指摘の通りリストボックスはUserFormにあり、hinbanを標準モジュールで受け取って標準モジュールデ処理をするというプログラムです。 早速サンプルプログラムを試してみます。 本当にありがとうございました。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

リストボックスは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)
回答No.1

リストボックスの二番目の配列は ListBox1.Column(pvargColumn:=1) で求められるかと。

homma
質問者

お礼

回答ありがとうございました。 コピーペーストで内容も分からず書いているもので変な質問ですみませんでした。 教えていただきましたコマンドも含めて勉強します。