• 締切済み

ユーザーフォームでのListBoxからの・・・

Excelファイルを起動しシート上の様式に入力するユーザーフォームを初めて作成しております。 今回の質問ですが、フォーム上でのリストから合致する内容を別テキストボックスへ表示する様にしたいのですが御教授下さい。 ※VBA作成シート上ではVLOOKUP関数を使い使用しておりました。 例) ListBox1でリストで氏名を選択 → TextBox1へ氏名に合致するTEL番号表示  → 様式のセルへ転記 ※セルへの転記は心得ております。 Office2010 Win7での環境です。 初めてVBAをいじり、作動した時の喜びをニヤけながら作成しております。 どうぞ、よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

下記のように質問を書くとわかりやすく正確になると思う。 表現を勉強して見てください。日頃文章力を磨くことが大切 やりたいことは下記か?(推測で1部補充) 順を追って正確に伝わるよう表現すること)。 1 ユーザーフォームを1つシートに貼り付け(Sheet1) 2 上記ユーザーフォーム上にリストボックスを1つ貼り付け 3 リストボックスのアイテム(項目)には氏名を出す 多分シートのセル範囲にあるデータを表示するのだろう 。   ここがEXCEVBAらしいところで、VB(NET系)ではそうは簡単にはできないだろう) 4 リストボックスの1つのアイテム(氏名)をマウスでクリックして選択すると その氏名が決定する(取得される) 5 その氏名をもとに、VLOOKUP関数で住所を検索する 6 「様式」とはシート(Sheet1)での「決めた1セル」のことだと思うが その氏名に対応した住所のセルに住所を代入する。 ーーー 例データ クリックして選択した結果 VLOOKUP用の検索範囲 ↓     ↓ A2:B4 G2:G4 木村 前橋市 田中 横浜市 田中 横浜市 木村 前橋市 斉藤 市川市 斉藤 市川市 ーーー VBA関連操作 リストボックスで右クリック プロパティを選択 Rowsource G2:H4   「コードの表示」で出るVBE画面下記を作成 Private Sub ListBox1_Click() MsgBox ListBox1.ListIndex Selection = ListBox1.List(ListBox1.ListIndex) Selection.Offset(0, 1) = WorksheetFunction.VLookup(Selection, Range("G2:H4"), 2, False) Selection.Offset(1, 0).Select End Sub ーーー 操作 Sub/Userformの表示 リストボックスのアイテム(氏名)を選択 多数の人の住所を連続して選択してシートの列に上から並べて 表示する仕様で例を作成 (回答者の好みから、この方が将来勉強に役立つだろうと思い) 木村、田中、斉藤の順にリストボックスをクリック (質問者の「様式」とは1人分かもしれないが、不十分な記述でわかりにくく、こうした) 様式そのものの説明が質問に要るだろう。

masakey4
質問者

お礼

ご丁寧に表現の方法からご指導頂き有難うございました。 また、自分のやりたい事と作動して欲しい事と上手く表現出来なく回答しずらい中、 順序だてての解説ありがとうございました。 参考にさせて頂きトライして見たいと思います。

すると、全ての回答が全文表示されます。
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

下記サイトの Private Sub ComboBox1_Change()に記載されてる 「VLookup」でデータ取得又は「ListIndex」で取得で可能だと思います。 電話番号がリストボックスに存在するのであればListIndexで可能ですが、シートから取得するのであればVlookupでの取得となるでしょう。 例題はComboBox1となっていますのでListBox1に変更下さい。 http://www.geocities.co.jp/SiliconValley-Bay/2717/VBA/excel_071_vl_id.htm ユーザーフォームのリストボックスのデータ表示、リスト取得データのワークシート画像添付すれば回答者が理解しやすくなると思うのですが。

masakey4
質問者

お礼

ご回答有難うございました。 基本が解ってなく初めてのVBAなのですがサンプルをDLして確認しながら 無事、作動させる事が出来ました。 解らないなりに画像添付すればよかったようで今後の参考にさせて頂きます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A