>source

명명 된 범위의 값을 다른 워크 시트의 다른 테이블에있는 다른 명명 된 범위와 비교하려고합니다.

이름의 범위 :

Current Roster = WSheet1
New Roster = WSheet2
CurrentNameList = Column F of CurrentRoster
NewNameList = Column F of New Roster

발행물: Time out - Type Mismatch

If c.Value = Range("NewNameList").Value Then

내가 시작하는 곳은 다음과 같습니다.

Sub Compare()
    For Each c In Range("CurrentNameList")
        If c.Value = Range("NewNameList").Value Then
           ThisWorkbook.Worksheets("CurrentRoster").Range("CurrentNameList").Offset(, 26).Value = "Active"
        Else
            ThisWorkbook.Worksheets("Current Roster").Range("CurrentNameList").Offset(, 26).Value = "InActive"
        End If
    Next
End Sub

미리 감사드립니다.


  • 답변 # 1

    이름이 통합 문서 범위 인 경우 다음과 같은 범위를 참조 할 수 있습니다.

       Dim wb As Workbook, c As Range, m
        Set wb = ThisWorkbook 'always scope your ranges as explicitly as you can
        
        For Each c In wb.Names("CurrentNameList").RefersToRange.Cells
            'Use Match to check if a value in is a list
            m = Application.Match(c.Value, wb.Names("NewNameList").RefersToRange, 0) 'is the value in the list?
            'Did we get a match? If not then m is an error value
            c.Offset(0, 26).Value = IIf(IsError(m), "InActive", "Active")
        Next c
    
    

관련 자료

  • 이전 logging - python - 로그 파일 디렉터리를 인수로 전달
  • 다음 javascript - Windows 2012 R2 서버에서 405 이후 오류를 극복하는 방법