목록이 훨씬 더 길다고 상상해 보십시오. A와 B의 셀을 C열의 적절한 이름/ID로 바꾸는 방법이 있습니까? "적절한 이름"은 C열에 있는 내용입니다(이름 일치).이것이 최종 결과입니다예 복사/붙여넣기는 작동하지만 이 전체 길이가 5000이고 C 열의 순서가 완벽하지 않으면 많은 시간이 걸립니다.
답변1
vba를 사용하면 조회된 값을 이런 식으로 대체할 수 있습니다. 대체 값이 있는 지점으로 범위를 조정하고 조회 중인 항목의 범위를 조정합니다.
Sub substituteLookedUp()
Dim myStr As String
Dim matchDbl As Double
Dim Rng As Range
Set Rng = Range("C1:C10")
For Each cell In Range("a1:b12")
If cell <> "" Then
myStr = Mid(cell, WorksheetFunction.Find(" ", cell) + 1, Len(cell) - WorksheetFunction.Find(" ", cell)) & "_" & Left(cell, WorksheetFunction.Find(" ", cell) - 1) & "*"
matchDbl = WorksheetFunction.Match(myStr, Rng, 0)
newStr = Range("C" & matchDbl)
Else: newStr = ""
End If
cell.Value = newStr
Next
서브 끝