해결 HOT M365윈도우11
암시적 교차 연산자 일괄 삭제
함수명 앞에 붙는 암시적 교차 연산자(@)를 일괄 삭제할 수 있는 방법이 있을까요?
@를 공백으로 "바꾸기"를 하면, =[@3월]+[@4월] 와 같이 함수명이 아닌 표이름앞에 붙는 @까지 바뀌어서 수식이 엉망이 되네요...
@를 공백으로 "바꾸기"를 하면, =[@3월]+[@4월] 와 같이 함수명이 아닌 표이름앞에 붙는 @까지 바뀌어서 수식이 엉망이 되네요...
인
제
쿠
댓글 15
아래와 같이 @을 공백으로 바꾸는 매크로(교체1)는 잘 작동하는데, 알려주신 [@을 바꾸는 매크로(교체2)는 작동을 안하네요...
Sub 교체1() Dim ws As Worksheet Dim rng As Range Dim findText As String Dim replaceText As String ' 바꿀 문자열은 "@"입니다. findText = "@" ' 바꾸려는 문자열은 빈칸입니다. replaceText = "" ' 활성화된 시트를 가져옵니다. Set ws = ActiveSheet ' 범위를 A1:SF500으로 한정합니다. Set rng = ws.Range("A1:SF500") ' 범위 내에서 찾을 문자열이 포함된 수식을 바꿀 문자열로 대체합니다. rng.Replace What:=findText, Replacement:=replaceText, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2 End SubSub 교체2() Dim ws As Worksheet Dim rng As Range Dim findText As String Dim replaceText As String ' 바꿀 문자열은 "[@"입니다. findText = "[@" ' 바꾸려는 문자열은 "[AT표시"입니다. replaceText = "[AT표시" ' 활성화된 시트를 가져옵니다. Set ws = ActiveSheet ' 범위를 A1:SF500으로 한정합니다. Set rng = ws.Range("A1:SF500") ' 범위 내에서 찾을 문자열이 포함된 수식을 바꿀 문자열로 대체합니다. rng.Replace What:=findText, Replacement:=replaceText, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2 End Sub교체1 매크로는 잘 작동하는데, 교체2 매크로는 잘 안되네요..
교체2 매크로가 작동해야, 두개를 조합해서 [@를 제외한 @만 공백으로 교체할텐데요...
그런데... 제가 다른 샘플을 추가해서 작동시켰더니... 추가된 것에서는 [@에서 @가 사라져버리네요..
추가샘플을 올렸습니다!
죄송해요.. 첨부터 다양한 샘플을 생각했어야하는데, ㅠㅠ
replacements = Array( _ Array("[ @", "[AT표시"), _ Array("[@", "[AT표시"), _ Array("@", ""), _ Array("[AT표시", "[@"), _ Array("수식=", "=") _ ) 이것만 바꿔주면 됩니다..와일드카드 때문에 그랬네요..잘 처리되네요장시간 너무 너무 감사드려요!! 정말 너무 멋진 고수님들 많은 것같아서, 한없이 작아지네요..
연말연시 행복한 일만 가득하세요~~!!
이러면서 저도 배우는게 많습니다..^^ 전 이런문제 좋아합니다..
연말연시 행복하시고 새해복많이 받으시고 미리 크리스마스 입니다..