728x90

다른 시트에 일치하는 내용이 있는지 검사하여 포함되어 있는 행 출력


Option Explicit

Sub Sheets_FindText()
    Dim rngAll As Range   '// 현재 시트의 범위구간 설정
    Dim rngC As Variant   '// 현재 시트의 범위구간내의 변동되는 셀 변수
    Dim rngDB As Range    '// 검사할 시트의 범위구간 설정
    Dim rngT As Variant   '// 검사할 시트의 범위구간내의 변동되는 셀 변수
    Dim varTemp As Range      '// 임시변수 범위
    Dim i As Long         '// 카운트할 숫자
 
    Range("B2:C10").ClearContents
 
    Set rngDB = Worksheets("B").Range("B2", Worksheets("B").Cells(Rows.Count, "B").End(3))
    Set rngAll = Worksheets("A").Range("A2", Worksheets("A").Cells(Rows.Count, "A").End(3))
 
    For Each rngC In rngAll
        For Each rngT In rngDB
            Set varTemp = rngT.Find(What:=rngC, Lookat:=xlPart)   '// 부분일치(xlPart), 전수일치(xlWhole)
            If Not varTemp Is Nothing Then
                rngC.Offset(, 2) = rngC.Offset(, 2) & " , " & rngT.Offset(, -1)
                i = i + 1
            End If
        Next rngT
   
        rngC.Offset(0, 1) = i
        i = 0
        rngC.Offset(, 2) = Mid(rngC.Offset(, 2), 4, Len(rngC.Offset(, 2)))
        Debug.Print InStr(rngC.Offset(, 2), "1"), Len(rngC.Offset(, 2))
    Next rngC
 
    Set rngDB = Nothing      '// 변수 초기화
    Set rngAll = Nothing      '// 변수 초기화
End Sub


블로그 이미지

Link2Me

,