• 締切済み

エクセルVBAでのデータ検索・貼り付けについて

エクセル2007でVBAを使用しての一覧表を作りたく質問させていただきます。 名簿 001 あいう 002 かきく 003 さしす  上記の様な一覧表のシートから 別のシートで A     B     C     D 002   かきく 001 A列に指定のコード002等を入れると名簿のシートから「かきく」とB列の「かきく」を表示する様に させたいと考えています。 VLOOKUPで行おうと試行錯誤しましたが、 A列の上段に002と入れた時に001が読み出せなかったり 再度002と入れても表示されないためにやりたいことが上手く出来ずに困っています。 A     B     C     D 002   かきく 002   かきく 002   かきく 001   あいう 001   あいう 001   あいう 002   かきく 003   さしす 理想は上記のような形で表示できるようにしたい為、 マクロボタンを押すと一括でA列に対応したB列の文字を名簿シートから 表示(貼付?)させれば可能なのかとも考えていますが、 正直勉強不足でそこまでの式が書けずに、 ネットで検索してそれらしいコードも探していますが、 修正して使えるようなコードが見つけられません。 この関数を使えばとか、このコードが使えますといった物を教えて頂けないでしょうか? 宜しく願いいたします。

みんなの回答

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

>VLOOKUPで行おうと試行錯誤しましたが、 >A列の上段に002と入れた時に001が読み出せなかったり Vlookup関数の最後に検索方法の指定があるのをご存知ですか。 例えの式ですが =VLOOKUP(D1,A:B,2,FALSE) と =VLOOKUP(D1,A:B,2,TRUE) では、使い方が違ってきます。 上の式では、検索値で完全一致で検索しまうので、 A列が順番に並んでいなくても大丈夫です。 下の式では、近似一致なので A列が順番に並んでいる必要があります。

fruhling
質問者

お礼

回答ありがとう御座います。 検索方法の意味を正確に把握出来ていませんでしたので、 再度TRUEに変更して試してみました。 すると一番最上部のA1が絡むと空白になる現象がでてしまいます。 それ以外はもう少しよく見てみないと分かりませんが、 上手く回避する方法はA1を最上段に入力して見えないセルにする事で使えるようにするしかないのでしょうか? 拙い説明で申し訳ありません。