2016-06-28 2 views
0

두 권의 Excel 워크 북이 있습니다. 한 통합 문서의 열은 두 번째 통합 문서의 열에있는 해당 이름과 일치해야하는 이름을 포함합니다.다른 워크 시트의 한 워크 시트에서 유사한 셀 내용 식별

어떻게 개별 검색을 수행하지 않고 모든 레코드에 대해 자동으로이 작업을 수행합니까?

+0

무엇을 시도 했습니까? 더 많은 정보가 있습니까? 색인/일치처럼 잘 할 것 같습니다. – Kyle

답변

0

질문에 많은 정보가 없습니다. 그러나 다음 가정에 따라 코드 아래에 이미지와 같이 결과가 표시됩니다.

가정 : 난 당신이 데이터 행 현명한 즉 일치 ROW1-ROW1, ROW2 - ROW2을 일치시킬 것을 가정하고 이름 해당 질문 경기에서 언급 한 바와 같이

1., 등등.
비교할 두 파일은 Sheet3Sheet2에 각각 데이터가있는 file1file2입니다.
3. 최종 결과가 레드 색으로
녹색 및 일치하지 않는 이름에 일치하는 이름을 강조한다 (필요에 따라 파일 이름과 시트 이름을 변경). (아무것도 원하는 출력 나는 또한 "일치"또 다른 옵션으로 file2에 "아니오 일치"를 표시하고 관한 질문에 지정하지 않은 것처럼)

Sub Compare() 
    Dim ws1 As Worksheet, ws2 As Worksheet 
    Dim lastRow As Long, matchCount As Long 

    'two sheets to be used of different files 
    Set ws1 = Workbooks("file1").Sheets("Sheet3") 
    Set ws2 = Workbooks("file2").Sheets("Sheet2") 

    matchCount = 0 

    'get last row with data from file1   
    lastRow = ws1.Cells(Rows.Count, "A").End(xlUp).Row 

    'loop through all the names in column A 
    'starting with 2 to exclude header 
    For i = 2 To lastRow 
     If ws1.Range("A" & i) = ws2.Range("A" & i) Then 
      'if names match change cell color to green in file2 
      'also write match in column B 
      ws2.Range("A" & i).Interior.ColorIndex = 43 
      ws2.Range("A" & i).Offset(0, 1).Value = "Match" 
      matchCount = matchCount + 1 
     Else 
      'if names does not match change cell color to red in file2 
      'also write no match in column B 
      ws2.Range("A" & i).Interior.ColorIndex = 3 
      ws2.Range("A" & i).Offset(0, 1).Value = "No Match" 
     End If 
    Next 

    MsgBox "Out of " & lastRow - 1 & " there were " & matchCount & " cells matching." 
End Sub 

참고 : 두 파일이 동일한 인스턴스에서 열려 있어야합니다 이 코드가 작동하려면 Excel의

enter image description here

관련 문제