Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11953 / 13646 ツリー ←次へ | 前へ→

【13149】コンボボックスの値をVlookupで設定する方法 miyake 04/4/24(土) 12:16 質問[未読]
【13152】Vlookup,質問の追加です。 miyake 04/4/24(土) 16:46 質問[未読]
【13153】Re:コンボボックスの値をVlookupで設定する... 角田 04/4/24(土) 17:24 回答[未読]
【13159】できました。ありがとうございました miyake 04/4/24(土) 23:12 お礼[未読]

【13149】コンボボックスの値をVlookupで設定する...
質問  miyake  - 04/4/24(土) 12:16 -

引用なし
パスワード
   たとえば、
シートは、テーブルシート(登録されたレコード)とコードシート(コンボボックスのrowsorce)があるとします。
フォームは、登録、修正フォームがあるとします。
登録フォームには、テキストボックス(商品コード)とコンボボックス(商品名)と登録ボタンがあります。コンボボックスのリストから商品名を選択すると、それに対する商品コードがテキストボックスに入ります。登録ボタンを押すと、テキストボックスの商品コードがテーブルに保存されます。次に、登録されたレコードを修正用フォームに引っ張ると、テキストボックスに商品コードが表示されますが、コンボボックスは空の状態です。そこで、コンボボックスの初期値にvlookupで商品コードに対応した諸品名を初期値に設定したいのですが、どうしたらいいのでしょうか。vlookupで引っ張るのでしょうか。

【13152】Vlookup,質問の追加です。
質問  miyake  - 04/4/24(土) 16:46 -

引用なし
パスワード
   フォーム上にTextBox1とComboBox1があります。
ワークシートには、商品コードがあり、商品という名前を付けています。
商品コードは2列で、1列目がコード、2列目が商品名です。

ここで、TextBox1(商品コード)に何らかの値が入っている場合、その値を元に商品からvlookupで検索し2列目の値(商品名)をComboBox1に設定したいと思います。
ここで、

Dim cmbtext as String
cmbtext = Application.WorksheetFunction.VLookup(Me.TextBox1.Value,Worksheets("シート名").Range("商品"), 2)
Me.ComboBox1 = cmbtext

上記のように記述したところ、Vlookupがエラーになってしまい、ComboBox1には何も設定されません。どこがおかしいと思われますか。

【13153】Re:コンボボックスの値をVlookupで設定す...
回答  角田 WEB  - 04/4/24(土) 17:24 -

引用なし
パスワード
   こんにちは。
楽する方法‥‥‥

A列にコード、B列に商品名だとして、1〜10行目に一覧が
入っている場合
 RowSource   A1:B10 ←範囲
 ColumnCount  2    ←コンボの列数
 ColumnWidth  0;   ←1列目の表示幅はゼロ(非表示)
 BoundColumn  1    ←コンボのValue値は1列目の内容
 TextColumn  2    ←コンボのText値/TextBox部分の表示は2列目の内容

とすると、コンボボックスには2列目の内容だけ表示されます。
選択されている行で
 1列目(コード)の内容を参照する時は、Valueプロパティ
 2列目(商品名)   〃      、Textプロパティ
と出来ます。

Valueプロパティに、コード値(コンボリスト上に存在する内容)を代入すれば
自動的に、その行が選択状態になって、TextBox部分には2列目の内容である
商品名が表示されます。

こういう風に、コンボを使う時は、非表示でコード値リストも取り込んでおくと
便利です。

【13159】できました。ありがとうございました
お礼  miyake  - 04/4/24(土) 23:12 -

引用なし
パスワード
   ▼角田 さん:
角田さんのお教えのとおりにやりましたところ、成功しました。
コンボボックスに表示する内容をvlookupで検索しようと難しく考えていましたが、コンボボックスの設定だけでできるのですね。
大変参考になりました。またよろしくお願いいたします。

11953 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free