• ベストアンサー

(sheet1)顧客名を入力すると、(sheet2)リストから、住所などのデータを抽出出来る様にしたい。

最終的には、EXCELで作成した住所録から、WORDで封筒に宛先が印刷される様にしたいと思ってます。 WORDの差込み印刷の方法は知っていますが、 私はそれほど大量の宛名印刷をする事はないので、 まず、EXCELの住所録リスト(sheet2)から、印刷したい宛先を抽出して(sheet1)、それを、WORDに飛ばそうかと考えました。  VBAなどは詳しくないのですが、何か良い方法ありますでしょうか?  理想としては、sheet1のA1セルに、「佐藤株式会社」と入力したら、 sheet2のリストから、住所全てが抽出されてくるっていう風にしたいのですが・・・

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

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

No1-2です。 > 何だかセキュリティレベルが高いになっている為、×って出ました・ それでは、ワークシート画面で[ツ-ル]→メニュ-[マクロ]→「セキュリティ」と順にクリックをするとポップアップ画面が表示されます。 表示されましたらセキュリティレベル『中』を選択して下さい。 それから再度開きます。 ただし、レベル『低』には絶対しないで下さい。『低』ではすべてのファイルを無条件で開くため、マクロウィルスに対して無防備になります。 レベル『中』ではファイルを開く際にマクロを有効にするかどうかを確認しますので、信頼できる相手からのファイルのみ「有効」にするようにしてください。

その他の回答 (2)

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

No1です。 >「この言葉を含んだものが抽出される」って関数(ってありますか?)と組み合わせたり出来るものでしょうか? VBAでやるしかないようですね。 Sub test01() Dim kyaku As String, i As Integer, n As Integer kyaku = Sheets("Sheet1").Range("A1").Value i = 1 n = 1 With Sheets("Sheet2") Do While .Cells(i, 1) <> "" If .Cells(i, 1) Like "*" & kyaku & "*" Then Sheets("Sheet1").Cells(n, 2) = .Cells(i, 2) n = n + 1 End If i = i + 1 Loop End With End Sub これで佐藤株式会社等、A1に入力された単語を含むデータをSheet2のA列を検索しその右隣のB列のデータを抽出します。 もし複数あれば複数抽出します。

momotaro11
質問者

お礼

ご丁寧に二度も回答下さりありがとうございます。 試してみたのですが、何だかセキュリティレベルが高いになっている為、×って出ました・・・(泣) 会社で試せなかったので、自宅で試そうと思います。 ありがとうございました。

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

VLOOKUP関数でできると思います。 仮に住所録リスト(sheet2)がA1~B20、A列が名前、B列が住所として、 Sheet1のA1に名前を入力するのであれば、Sheet1の住所を表示したいセルに =VLOOKUP(A1,Sheet2!$A$1:$B$20,2,FALSE) と入れてください。

momotaro11
質問者

お礼

早速の回答ありがとうございました。 VLOOKUPも考えてみたのですが・・・、 ピッタリ情報が合わないとひっぱってこれないところが困っちゃうんですよね~ 「この言葉を含んだものが抽出される」って関数(ってありますか?)と組み合わせたり出来るものでしょうか?  もしお時間取れる様でしたら、教えて頂けますでしょうか?

関連するQ&A