본문 바로가기
WORK-LIFE/EXCEL

[VBA] find

by 동해무울 2023. 8. 21.

A Data와 B Data 비교하여 A Data의 값이 B Data에 없을때 추가 하려고 하니.. 어떻게 해야 할지.. 고민을 겁나게 하다가... 찾아서 없으면 넣으면 되잔아!!!! 라는 결론에 들었고.. (당연하잔아!! ㅡㅡ;)

아래와 같이 테스트를 해보았다..

 

Sub test()

    Dim AData  As Range, BData  As Range, rAData As Range, rBData As Range

    Dim AData _count As Integer, BData _count As Integer

    ' 기존 데이터에서 리스트를 뽑자
    Set AData= Sheets("ASheet").Range("A1").CurrentRegion
    AData _count = AData.Rows.Count
    Set rAData = Sheets("AData").Range("A2:B" & AData_count)
    

    '신규 데이터에서 리스트를 뽑자
    Set BData = Sheets("BData").Range("A1").CurrentRegion
    BData _count = BData.Rows.Count
    Set rBData = Sheets("BData").Range("A2:A" & BData_count)

 

    '업데이트 하기 위한 sheet 선택
    ActiveWorkbook.Sheets("AData").Select

 

    'AData 데이터를 순차적으로 BData에서 검색해서 없으면 aFind에 "nothing"으로 저장됨.
    For Each rrAData  In rAData 

            'BData에서 AData를 찾아 aFind에 넣는다.
            Set aFind = rBData.Find(rrAData, Lookat:=xlWhole)

            'aFind가 Nothing 이면 "추가"를 표시함.

            If aFind Is Nothing Then

                debug.print("추가")
            End If
    Next

Set aFind = Nothing

End Sub

'WORK-LIFE > EXCEL' 카테고리의 다른 글

[EXCEL] VLOOKUP 함수  (0) 2023.02.02
[EXCEL] 엑셀 RANDBETWEEN 함수  (0) 2023.01.11
[VBA] Error 사용자 함수 (Error control in VBA)  (0) 2020.02.29