エクセル・VBAで商品検索をしようとしているのですが行き詰ってしまい、皆様のお知恵を拝借できればと思い質問させていただきます。
・現状
1.商品マスタ シートにJANコード・商品名・規格その他を入力しています。
2.ユーザーフォームを使い、商品名(一部分)を入力・検索したら、その商品の商品名・規格がコンボボックス上に表示される(2列分の情報を出力しています)
3.当てはまる商品を選択し、コマンドボタンを押したら、その商品のJANコードや商品名・規格・価格などが出力されるようにしたい
現在2.まではなんとか作成したのですが、3.の操作をどうすれば良いかわからず悩んでおります。
コンボボックスに格納されたデータは配列形式で、findメソッドを使って引っ張ってきているのですが、選択したデータからもともとの商品マスタのセルを割り出す操作があるのかどうかも分かりません。
独学でやっているので、基礎の基礎もわかっていないとは思いますが、どうかご教授ください。
(例)
商品名検索をした際には、コンボボックスに
チロルチョコ バナナ味20円
チロルチョコ いちご味21円
チロルチョコ マンゴー味21円
のように表示されます。その中でチロルチョコ イチゴ味を選択した後に、そのチロルチョコ いちご味のデータを出力したいのです。
No.1ベストアンサー
- 回答日時:
>コンボボックスに格納されたデータは配列形式で、findメソッドを使って引っ張ってきているのですが、選択したデータからもともとの商品マスタのセルを割り出す操作があるのかどうかも分かりません。
有り体に言えば,そういう「リンク」はありません。
ので,配列データの中に「行番号」を3列目データとして併せて格納し,必要に応じて表示はしないようにしておくなどの手続きが簡単かなと思います。
行番号などのインデックスが格納されていれば,選択データの該当行データを出力するのは極めて容易ですね。
ありがとうございます。
的確なコメントをいただき、今後の指針まで教えていただけたので納得して作成できました。
行番号を配列に入れて非表示にし、後程そのデータを使い必要なデータを引っ張り出してこれました。
本当にありがとうございました!
No.2
- 回答日時:
1番さんと回答がかぶりますが・・・。
確認ですが、1から2までの動作は
findをループで使って配列に放り込み、それをコンボボックスに表示で間違いないですか?
基本findはアドレスを取ってくるので、その行数もついでに配列に放り込んでみてはどうでしょう。
要素数1個追加で半分解決。
ComboBox1.ListIndexでリストの何番目が指定されたかわかるから(先頭は0)、
配列とつき合わせてアドレス取得、それから必要とするデータをとってくればよいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
表にフィルターをかけ、絞った...
-
array関数で格納した配列の型を...
-
ExcelのINDEXとMATCH関数でスピ...
-
iniファイルのキーと値を取得す...
-
Excelのセルの色指定をVBAから...
-
配列がとびとびである場合の書き方
-
EXCEL VBA 2次元配列に格納さ...
-
[エクセル]連続する指定範囲か...
-
VB6.0 ファイルの一括読込み
-
For Nextマクロの高速化につい...
-
エクセルで、絶対値の平均を算...
-
仮想リストコントロールの表示
-
2次元配列への格納方法について
-
プログラミングについて(Pytho...
-
エクセルのMEDIAN(中央値...
-
VBA Dictionaryオブジェクトの...
-
【VBA】配列に数式を仕込む方法...
-
【Excel】VLOOKUP検索値が複数...
-
[VBA]改行入りのセルの値を配列...
-
エクセルVBA セル選択範囲を調...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのINDEXとMATCH関数でスピ...
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
[エクセル]連続する指定範囲か...
-
エクセルで、絶対値の平均を算...
-
VBA listBoxについて
-
表にフィルターをかけ、絞った...
-
VBA 配列に格納した値の平均の...
-
iniファイルのキーと値を取得す...
-
[VBA]改行入りのセルの値を配列...
-
配列がとびとびである場合の書き方
-
エクセルでエラーを無視して一...
-
DataSetから、DataTableを取得...
-
Excel オートフィルタのリスト...
-
Split関数でLong配列に格納する...
-
読み込みで一行おきに配列に格納
-
VB6.0 ファイルの一括読込み
-
SUMPRODUCT関数を用いた最小値
-
INDEX(D:D,L3)の意味は?
-
Dictionaryを使い4つの条件の一...
おすすめ情報