- ベストアンサー
Excel VBAを使って会員検索
Sheet1のA列に会員番号、B列に氏名、C列にフリガナ、D列に住所といったデータがあります。 Sheet2のA列に会員番号のみがあります。 この2つのデータを照合して、一致した場合のみ、Sheet1の該当会員データの横のセルに“一致”もしくは“1”などの値(上の例だとSheet1のE列に)を入力できるようなVBAを組みたいのですが、教えていただけますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 質問の内容に沿って回答すると Sheet1のE列に =IF(ISNA(MATCH(A1,Sheet2!A:A,0)),"","一致") ですね。 失礼しました。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
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を組みたいのですが ということなので。
- oshietechodai
- ベストアンサー率35% (105/298)
Sheet2B1 セルに以下の関数を入力してください。 =IF(ISNA(MATCH(A1,Sheet1!A:A,0)),"","一致") VBAデ組まなければならない理由が見つかりません。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 お話の内容だけでは、VBAで組む必要性を感じません。それに、仮に、VBAでも、WorksheetFunction で、Match関数を使えば、簡単に出来てしまいます。