Vba: 문자열에서 문자를 제거하는 방법


VBA에서 바꾸기() 메서드를 사용하여 문자열에서 문자를 제거할 수 있습니다.

다음 예에서는 Excel에서 다음 문자열 목록을 사용하여 실제로 이 방법을 사용하는 방법을 보여줍니다.

예제 1: VBA를 사용하여 문자열에서 모든 문자 제거(대소문자 구분)

각 문자열에서 “this”를 제거하고 싶다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub RemoveChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(Range(" A " & i), " this ", "")
Next i
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

B열에는 “this”가 제거된 A열의 각 문자열이 표시됩니다.

이 매크로는 대소문자를 구분합니다.

즉, “this”는 모두 제거되지만 “this”는 모두 그대로 유지됩니다.

예제 2: VBA를 사용하여 문자열에서 모든 문자 제거(대소문자 구분 안 함)

모든 문자열에서 “this”(대소문자 관계 없이)를 제거하고 싶다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "")
Next i
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

B열에는 “this”가 제거된 A열의 각 문자열이 표시됩니다.

이 교체는 대소문자를 구분하지 않습니다 .

즉, “this”가 나타날 때마다(대문자 사용 여부에 관계없이) 제거됩니다.

각 문자열에서 “this”를 검색하기 전에 먼저 LCase 메서드를 사용하여 A열의 각 문자열을 소문자로 변환함으로써 이를 달성할 수 있었습니다.

예제 3: VBA를 사용하여 문자열에서 처음 N개의 문자 발생 제거

각 문자열에서 처음 나타나는 “this”(대소문자 관계 없음)만 제거하고 싶다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "", Count:=1)
Next i
End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

B열에는 “this”의 첫 번째 항목만 제거된 A열의 각 문자열이 표시됩니다.

Count:=1을 사용하여 특정 문자열의 첫 번째 항목만 제거했지만 특정 문자열의 처음 n개 항목 대신 1을 제거하려는 값으로 바꿀 수 있습니다.

참고 : VBA 바꾸기 메서드에 대한 전체 설명서는 여기에서 찾을 수 있습니다.

추가 리소스

다음 자습서에서는 VBA를 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 문자열에서 문자 발생 횟수를 계산하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법

의견을 추가하다

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