こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

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

Excelファイルを起動しシート上の様式に入力するユーザーフォームを初めて作成しております。

今回の質問ですが、フォーム上でのリストから合致する内容を別テキストボックスへ表示する様にしたいのですが御教授下さい。
※VBA作成シート上ではVLOOKUP関数を使い使用しておりました。

例)
ListBox1でリストで氏名を選択 → TextBox1へ氏名に合致するTEL番号表示 
→ 様式のセルへ転記
※セルへの転記は心得ております。

Office2010 Win7での環境です。
初めてVBAをいじり、作動した時の喜びをニヤけながら作成しております。
どうぞ、よろしくお願いいたします。

投稿日時 - 2015-08-20 00:27:55

QNo.9033277

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

下記のように質問を書くとわかりやすく正確になると思う。
表現を勉強して見てください。日頃文章力を磨くことが大切
やりたいことは下記か?(推測で1部補充)順を追って正確に伝わるよう表現すること)。
1ユーザーフォームを1つシートに貼り付け(Sheet1)
2上記ユーザーフォーム上にリストボックスを1つ貼り付け
3リストボックスのアイテム(項目)には氏名を出す
多分シートのセル範囲にあるデータを表示するのだろう。
  ここがEXCEVBAらしいところで、VB(NET系)ではそうは簡単にはできないだろう)
4リストボックスの1つのアイテム(氏名)をマウスでクリックして選択すると
その氏名が決定する(取得される)
5その氏名をもとに、VLOOKUP関数で住所を検索する
6「様式」とはシート(Sheet1)での「決めた1セル」のことだと思うが
その氏名に対応した住所のセルに住所を代入する。
ーーー
例データ
クリックして選択した結果VLOOKUP用の検索範囲
↓    ↓
A2:B4G2: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人分かもしれないが、不十分な記述でわかりにくく、こうした)
様式そのものの説明が質問に要るだろう。

投稿日時 - 2015-08-20 11:19:49

お礼

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

投稿日時 - 2015-08-20 21:05:58

ANo.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

ユーザーフォームのリストボックスのデータ表示、リスト取得データのワークシート画像添付すれば回答者が理解しやすくなると思うのですが。

投稿日時 - 2015-08-20 05:00:12

お礼

ご回答有難うございました。

基本が解ってなく初めてのVBAなのですがサンプルをDLして確認しながら
無事、作動させる事が出来ました。

解らないなりに画像添付すればよかったようで今後の参考にさせて頂きます。
ありがとうございました。

投稿日時 - 2015-08-20 21:14:12

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-