• ベストアンサー

エクセルで注文書に他のファイルリストから抽出して入力したいのですが

マクロ初心者です。良い方法が思いつかないので教えて下さい! エクセルで注文書を作る時に、メーカーや商品名、型番を 他のエクセルファイルのリストからオートフィルタのように選んで入力したいのですが、うまくいきません。 VBのコンボボックスを勉強してみたのですが、抽出など難しくて作れませんでした。。。 セルからリストの作成やドロップダウンリストを使ってもうまくできません。 何か良い方法を教えて下さい!

noname#113614
noname#113614

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>効率UPのため依頼を受けました。 例えば、注文書ファイルを開くと、商品データのシートをコピィするではダメでしょうか。 エクセルで操作するには、商品データのファイルを開くことになります。毎回、コピィしてもそんなに時間は変わらないと思います。 別案ですが、注文書を入力する人と商品データを更新する人が異なる程度であれば、ひとつのファイルでブックの共有を設定しても良いかと思います。 同時に編集する事がなければ、単にひとつのファイルで管理しても良いのではないでしょうか。 >かなり本格的なものを期待されていて、 注文の入力画面だけでなく、入荷や支払いまでの管理が一貫して出来る 商品データを他の人が編集中でも、複数の人が同時に注文入力可能 となると本格的なものといえると思いますが、 アクセスを検討した方が良いでしょう。 >型番は頭文字を入れると候補がでるようになどお願いされました。 >型番からだけでなくメーカーからでも商品名からでも抽出できるよう 商品データがどうなっているのかを明示して、それぞれ別途質問した方が良いと思います。

noname#113614
質問者

お礼

ご回答ありがとうございます。 >商品データがどうなっているのかを明示して、それぞれ別途質問した方が良いと思います。 内容が複雑でわかりにくい質問になってしまいました。すみません。 作りながら分からなくなったらまた質問したいと思います。 ありがとうございました。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

効率UP? ならば、そんな不必要に複雑な処理をしないで、他のエクセルファイルの商品データのリストと注文書ファイルのシートに作成したリストをリンクさせればいいだけの話です。 リンクでも立ち上げる際にオリジナルのファイルから読み込むのですからマクロより確実ですしメンテナンスも容易ではないでしょうか。

noname#113614
質問者

お礼

ご回答ありがとうございます。 リストをリンクさせるだけなら出来そうなのですが、 オートフィルタのようにメーカーを選んで商品名を・・・と抽出したいので悩んでいるわけです。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

私だったら、商品名などあるほかのファイルのシートを 注文書のファイルにコピィして作ります。 VBA使用するのは、商品が変更された場合などに、商品データのシートをコピペするボタンくらいは作ると思います。 注文書のファイルには 商品データシート 商品名 型番 メーカー名 単価 注文書シートには  商品名で入力規則のリストを設定  型番、メーカー名、単価はVLOOKUP関数で自動で引っ張ってくる といった構成を考えます。 必要であれば別途、注文済み一覧のシート作って 注文書シートの内容を保存するようなボタンを作成する。

noname#113614
質問者

お礼

ご回答ありがとうございます。 私もコピーでいいじゃないかと思うのですが、 効率UPのため依頼を受けました。 かなり本格的なものを期待されていて、 型番は頭文字を入れると候補がでるようになどお願いされました。 型番からだけでなくメーカーからでも商品名からでも抽出できるようにと。。。

関連するQ&A

  • オートフィルタで表示されるリスト全部をマクロで抽出したい

    マクロでオートフィルタで抽出する項目を idx = Split("A社,B社,C社,・・・・・", ",") として入力し、 .AutoFilter Field:=1, Criteria1:=str(idx) というように抽出し、新しいシートにコピーているのですが、 社名の追加や変更がよくあるので、 その場合、毎回マクロを訂正しなければなりません。 オートフィルタのドロップダウンリストに表示されるものを 1つずつ全て抽出して新しいシートにコピーする方法はないでしょうか? ご存知の方、どなたか教えてください。 よろしくお願いします。

  • VBAを使わずにボックスから選択し抽出する方法

    会社のファイルであったのを見て同じ事をしたいと思い伺います。 簡単に説明すると、オートフィルタを使わずに、コンボボックスなどのリストから希望のカテゴリーを選択すると、その選択したカテゴリーのファイルだけが表示されるという方法をとりたいのです。 他サイトなどではマクロを使っての抽出方法がありましたが、これだとコンボボックスで選んだ後に抽出ボタンをクリックする必要があります。 コンボボックスとリストボックスの違いを良くわかってないくらいなので、根本的に間違えているかもしれませんが、とりあえずオートフィルタだと一番上の行にしか▼印がでないので、なんとかコンボボックスなどで抽出できませんでしょうか?

  • エクセルのデータ抽出

    会社で注文のあった業者のリストをエクセルで 作ってて450行くらいあります。 各項目には会社名や内容や価格などありますが その中には空白のセルや行もあります。 そこからA列に自分が抽出したい行に印をいれて フィルタをかけたところ、空白があるためか すべてを抽出できません。1行1行抜き出すのもいいのですが 今後、データも増えることを考えると 何かいい方法で抽出したいのですが、 どうしたらいいでしょうか? やはりマクロをつかうのでしょうか? すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • オートフィルターのような機能をフォーム上で VBA

    いつも大変お世話になっております。 Excel2003を使用しております。 フォーム上で、オートフィルターのような機能を作りたいと思っています。 http://okwave.jp/qa/q8423348.html 過去の質問のプログラムを何度も使わせて頂いております。 フィルターをかけたら、可視セルを抽出し、コンボボックスに登録…ということを しています。 フォーム上のコンボボックスが変更されたら フィルターをかけ、コンボボックスのリストを更新するようにしていますが、 更新したときに、またフィルターをかけてコンボボックスを更新してしまい どうしたら上手く処理がいくのか分からなくなってしまいました。 現状、 Combobox1_Changeのとき、  If Combobox1<>"" Then   フィルターをかける   コンボボックスのリストを抽出する   コンボボックスを更新する  Else   フィルターを全開にする   コンボボックスのリストを抽出する   コンボボックスを更新する  End if こういった手段をとっています。 しかし、このままですとコンボボックスを更新するときに 毎回フィルターが全開?になってしまいます。 何か良い方法があれば、教えて下さい。 よろしくお願い致します。

  • エクセルのオートフィルタで抽出できない

    エクセルのオートフィルタでデータを抽出しようとしていますが、あるレコード以降のデータからは条件にあっていても抽出されません。このあるレコードははっきり特定できません。 およそ4000以降くらいかと思われますが・・ この表の中に空白行はありません。 コンボボックスがありますが、何か関係ありますか? よろしくお願いします。

  • エクセルでリストから選択と直接入力を行いたい・・・

    お世話になります エクセルで、セルへの入力をリストから選択する方法と直接入力する方法の両方で入力したいのですが、方法がわかりません。 ちなみに現状は入力規則でリスト~ドロップダウンから選択としております。 よろしくお願いします

  • Excelオートフィルタのドロップダウンリスト

    Excelのオートフィルタのドロップダウンリストを設定しました。 ▼ボタンを押すと、最初に見えるリストの数が8件です。 これはどこかで件数を増やす設定は可能なのでしょうか? 教えてください。

  • エクセルでの一意のリストの作成方法

    エクセルでオートフィルターの処理をすると 一意のリストがドロップダウンリストに表示されますが、 このリストと同じものを エクセルの関数、またはVBAで作成して シート上に表示することはできますか? できるとしたなら、どの関数、またはコードを使用すればいいのか お教えいただけないでしょうか よろしくお願いします。

  • EXCEL リストボックスについて

    現在、エクセルであることをしようとしているのですが、どうやってやったらいいのかわからないので、ぜひ教えてください。 それと出来るかどうかも教えてください。 内容といたしましては、エクセルのシートの中にあるセルを選んだときにリストボックスを表示して、そのリストボックスにある内容を選んで確定するとその選んだ文字が入るようにしているのですが、入力規則からのリストボックスだとシート自体を小さくすると中の文字が見えなくなり、選びづらくなります。 そこで、コンボボックスで同じことをすると、文字のサイズが大きくなるのですが、印刷時に下向きの矢印も一緒に表示されてしまいます。 そこで、別の視点から考えて、セルを選んだ時にリストボックスみたいなユーザフォームをだし、そこで選んだ文字を選んだセルに表示すれば、印刷時に表示もしないし見た目も良くなると思うのですが、出来そうですか? 出来るのであれば、ぜひ教えてください。 出来れば、VBかVBAで出来るのか、教えてください。

  • ドロップダウンリストを使用して関連した値を入力したいです。

    ドロップダウンリストを使用して関連した値を入力したいです。 Excel2007を使用していますが、 リストから項目を選択した時に、 各セルに選択した項目に関連する値を入力させたいです。 例えば、 リストから「ライオン」を選択した場合 A列1行目に「肉食」 A列2行目に「ネコ科」 A列3行目に「大型」 リストから「うさぎ」を選択した場合 A列1行目に「草食」 A列2行目に「うさぎ科」 A列3行目に「小型」 今はコンボボックスにドロップダウンリストを作成して一覧参照していますが、どう関連付けよいものか苦慮しております。 マクロを使わないと対処できない気もしますが、良い方法があれば教えてください。

専門家に質問してみよう