Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6004 / 76733 ←次へ | 前へ→

【76332】2つの値検索して取得
質問  you  - 14/11/1(土) 0:31 -

引用なし
パスワード
   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

3 hits

【76332】2つの値検索して取得 you 14/11/1(土) 0:31 質問[未読]
【76336】Re:2つの値検索して取得 γ 14/11/1(土) 10:35 発言[未読]
【76339】Re:2つの値検索して取得 you 14/11/1(土) 15:07 質問[未読]
【76340】Re:2つの値検索して取得 γ 14/11/1(土) 17:26 発言[未読]
【76341】Re:2つの値検索して取得 you 14/11/1(土) 18:58 質問[未読]
【76343】Re:2つの値検索して取得 γ 14/11/1(土) 20:47 発言[未読]
【76347】Re:2つの値検索して取得 you 14/11/1(土) 22:04 お礼[未読]

6004 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free