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: 특정 텍스트가 포함된 셀 수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다