나는 INDEX와 MATCH를 모두 사용하려고 시도했습니다. SUBSTITUTE 공식은 둘 다 훌륭하지만 안타깝게도 어느 쪽도 원하는 결과를 얻을 수 없으며 각각에는 한계가 있습니다. MS Excel을 사용하여 A2 셀에 문자열 내에서 바꾸려는 여러 문자와 문자가 포함 된 텍스트가 있습니다 (예 A2 : {Mr. and Mrs.} John Peterson_Jones {444} 585/0000). 또한 제목 (셀 B1 : "찾을 내용"및 셀 C1 : "바꿀 내용")이있는 두 개의 추가 열도 있습니다. 열 B2 : B101 (찾을 내용)에는 특정 키워드, 문자 또는 문자가 셀 A2에서 발견되는 경우 개별 키워드, 문자 및 문자 목록이 있습니다. 대체 할 내용 열 C2 : C101에서 인접한 Find What-REPLACE WITH 키워드, 문자 또는 문자로 대체됩니다.
이전 텍스트 : {Mr. and Mrs.} John Peterson_Jones @ {444} 585/0000 새 텍스트 : Mr. & Mrs. John Peterson-Jones
찾기 {,}, @, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 공백 값으로 바꾸기 찾기 "and"= "&"로 바꾸기 "_"찾기 =-(하이픈으로 바꾸기 ) 찾기 "/"= 대체-(하이픈)
매크로를 사용할 수 있다면 다음과 같이 할 수 있습니다.
For i = 2 To 101
findThese = Split(Range("B" & i), ",")
replaceWith = Range("C" & i).Value
replaceWith = Trim(replaceWith)
If Not IsEmpty(findThese) Then
For Each found In findThese
found = Trim(found)
Range("A2").Replace What:=found, Replacement:=replaceWith, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
Else
findThis = Range("B" & i).Value
Range("A2").Replace What:=findThis, Replacement:=replaceWith, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
Next i
나는 당신이 이것을 의미한다고 가정했습니다 : (출처 : piombo.com )
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다