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