| 
    
     |  | 2つの値を検索して値を返すにはどうしたらよいのでしょうか 教えてください。シート2に下記の一覧があります。
 シート2(X1)
 セルA列  B列 C列  D列  E列
 佐藤   太郎 社名 住所  電話番号
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 佐藤   花子  社名 住所  電話番号
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 ・    ・   ・  ・    ・
 鈴木   三郎  社名 住所  電話番号
 
 検索用のシート下記に値を入力
 シート1(X2)
 セルA列1行目
 姓(佐藤)を入力
 セルA列2行目
 名(花子)を入力
 
 マクロを実行すると検索した値をシート1に返したいのです。
 シート1(X2)
 セルA列3行目
 佐藤花子の会社名
 セルA列4行目
 佐藤花子の住所
 佐藤花子の電話番号
 
 こんな感じで書いていますが1つの値しか検索できません。
 また、値がなかったらデバッグがでます。全然できてませんが
 どなたかよろしくお願いします。
 
 Sub 検索結果()
 '
 Dim ANSYL As Integer
 Dim TanNo, FIND As String
 Dim X1, X2 As Worksheet
 
 '検索シート(X2)、一覧シート(X1)を省略形
 Set X1 = Worksheets("一覧")
 Set X2 = Worksheets("検索")
 
 '指名を検索
 TanNo = X2.Range("A1")
 
 '一覧シートの指名を検索
 X1.Activate
 Set FND = X1.Columns("A:A").FIND(what:=TanNo, lookat:=xlWhole)
 
 '指名が存在すれば、アクティブにし、行番号を取得
 
 X1.Activate
 X1.Range("A:A").Select
 Selection.FIND(what:=TanNo, lookat:=xlWhole).Activate
 ANSYL = ActiveCell.Row
 
 '検索シートに結果を表示
 X2.Cells(1, 3) = X1.Cells(ANSYL, 3) '社名
 X2.Cells(1, 4) = X1.Cells(ANSYL, 4) '住所
 X2.Cells(1, 5) = X1.Cells(ANSYL, 5) '電話番号
 X2.Activate
 Range("D4").Select
 
 End Sub
 
 |  |