• ベストアンサー

Excel VBAを使って会員検索

Sheet1のA列に会員番号、B列に氏名、C列にフリガナ、D列に住所といったデータがあります。 Sheet2のA列に会員番号のみがあります。 この2つのデータを照合して、一致した場合のみ、Sheet1の該当会員データの横のセルに“一致”もしくは“1”などの値(上の例だとSheet1のE列に)を入力できるようなVBAを組みたいのですが、教えていただけますでしょうか?

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

  • ベストアンサー
回答No.3

#2です。 質問の内容に沿って回答すると Sheet1のE列に  =IF(ISNA(MATCH(A1,Sheet2!A:A,0)),"","一致") ですね。 失礼しました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

VBAを習って1週間の者のようなプログラムですが、データ量が数千くらいならそんなに時間を意識せずにすむでしょう。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("sheet1") Set sh2 = Worksheets("sheet2") '----- d1 = sh1.Range("A65536").End(xlUp).Row d2 = sh2.Range("A65536").End(xlUp).Row '----- For i = 2 To d1 For j = 2 To d2 If sh1.Cells(i, "A") = sh2.Cells(j, "A") Then sh1.Cells(i, "E") = "1" Next j Next i End Sub >VBAを組みたいのですが ということなので。

回答No.2

Sheet2B1 セルに以下の関数を入力してください。  =IF(ISNA(MATCH(A1,Sheet1!A:A,0)),"","一致") VBAデ組まなければならない理由が見つかりません。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 お話の内容だけでは、VBAで組む必要性を感じません。それに、仮に、VBAでも、WorksheetFunction で、Match関数を使えば、簡単に出来てしまいます。

関連するQ&A