Vba에서 대체를 사용하는 방법(예제 포함)
VBA에서 Substitute() 메서드를 사용하여 문자열의 특정 텍스트를 모두 새 텍스트로 바꿀 수 있습니다.
이 방법은 다음 기본 구문을 사용합니다.
대체(텍스트, Old_text, New_text, Instance_num)
금:
- 텍스트 : 문자를 바꾸려는 텍스트입니다.
- Old_text : 대체할 텍스트
- New_text : 대체 텍스트로 사용할 텍스트
- Instance_num ( 선택 사항 ) : 대체할 이전 텍스트의 인스턴스입니다. 아무것도 지정하지 않으면 이전 텍스트가 모두 대체됩니다.
다음 예에서는 이 방법을 실제로 사용하는 방법을 보여줍니다.
예: VBA에서 대체를 사용하는 방법
Excel에 다음과 같은 표현식 목록이 있다고 가정합니다.
대신 모든 셀의 모든 공백을 쉼표로 바꾸고 싶다고 가정해 보겠습니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
A열의 모든 셀에 있는 모든 공백은 쉼표로 대체되었습니다.
다음 구문을 사용하여 각 공백을 아무것도 없는 것으로 바꿀 수도 있습니다.
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
A열의 모든 셀에 있는 모든 공백은 아무 것도 대체되지 않았습니다.
즉, A열의 각 셀에서 공백을 각각 제거했습니다.
참고 : VBA 대체 방법에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA를 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 문자열에서 문자 발생 횟수를 계산하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법