Vba에서 와일드카드를 사용하는 방법(예제 포함)
다음 기본 제공 와일드카드와 함께 VBA의 Like 연산자를 사용하여 문자열의 특정 패턴을 검색할 수 있습니다.
- * : 임의 개수의 문자와 일치합니다.
- ? : 단일 문자와 일치합니다.
- # : 한 자리 숫자에 해당
- [] : 범위 내의 모든 문자와 일치합니다.
다음 예에서는 실제로 이러한 와일드카드를 사용하는 방법을 보여줍니다.
예 1: *와일드카드를 사용하여 하위 문자열 검색
A열에 다음과 같은 음식 목록이 있다고 가정합니다.
다음 매크로를 생성하여 A열의 각 문자열에서 “hot” 하위 문자열을 검색하고 결과를 B열에 표시할 수 있습니다.
Sub FindString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *hot* " Then
Range(" B " & i) = " Contains hot "
Else
Range(" B " & i) = " Does Not Contain hot "
End If
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
예 2: 와일드카드 문자 *를 사용하여 패턴으로 끝나는 문자열 검색
A열에 다음과 같은 농구팀 이름 목록이 있다고 가정합니다.
다음 매크로를 생성하여 A열에서 “ets”로 끝나는 문자열을 검색하고 결과를 B열에 표시할 수 있습니다.
Sub FindEndingString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *ets " Then
Range(" B " & i) = " Ends in ets "
Else
Range(" B " & i) = " Does Not End in ets "
End If
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
예 3: 와일드카드 #을 사용하여 숫자 검색
A 열에 다음과 같은 문자열 목록이 있다고 가정합니다.
다음 매크로를 생성하여 A열에서 숫자가 포함된 문자열을 검색하고 결과를 B열에 표시할 수 있습니다.
SubFindNumbers ()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *#* " Then
Range(" B " & i) = " Contains Numbers "
Else
Range(" B " & i) = " Does Not Contain Numbers "
End If
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
예 4: 와일드카드 []를 사용하여 여러 문자 검색
A열에 다음과 같은 농구팀 이름 목록이 있다고 가정합니다.
다음 매크로를 생성하여 A열에서 팀 이름 어딘가에 r, s 또는 t가 포함된 문자열을 검색하고 결과를 B열에 표시할 수 있습니다.
Sub FindSpecificLetters()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *[rt]* " Then
Range(" B " & i) = " Contains r, s, or t "
Else
Range(" B " & i) = " Does Not Contain r, s or t "
End If
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
참고 : 여기에서 전체 VBA 와일드카드 설명서를 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA를 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 문자열에서 문자 발생 횟수를 계산하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법