Vba:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA에서 Instr() 함수를 사용하여 문자열에 다른 문자열이 포함되어 있는지 확인할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
Instr(시작, 문자열1, 문자열2, …)
금:
- start : 검색 시작 위치
- string1 : 검색할 문자열
- string2 : 찾으려는 문자열
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: VBA를 사용하여 문자열에 다른 문자열이 포함되어 있는지 확인
다양한 농구팀에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정해 보겠습니다.

이제 Team 열의 각 문자열이 문자열 어딘가에 “avs”를 포함하는지 확인한다고 가정해 보겠습니다.
VBA에서 다음 구문을 사용하여 Team 열의 각 문자열에 “avs”가 포함되어 있는지 확인하고, 그렇다면 D 열과 E 열의 전체 행을 반환할 수 있습니다.
Sub StringContains() Dim i As Integer , i_num As Integer For i = 2 To 9 If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then i_num = i_num + 1 Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value End If Next i End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

Team 열 어딘가에 문자열 “avs”가 포함된 각 행이 D 열과 E 열에 반환됩니다.
이 예에서는 두 팀(Mavs 및 Cavs)만이 Team 열에 “avs”를 포함했습니다.
다른 문자열을 검색하려면 위 코드의 “avs”를 원하는 문자열로 바꾸면 됩니다.
참고 #1: 셀 A2부터 A9까지 우리가 관심 있는 문자열이 포함되어 있으므로 코드에서는 For i = 2 ~ 9를 사용했습니다. 찾고 있는 셀 범위에 따라 이 범위를 자유롭게 변경하세요.
참고 #2 : VBA의 Instr() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA를 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 문자열에서 문자 발생 횟수를 계산하는 방법
VBA:범위 내 행 수를 계산하는 방법
VBA:범위의 평균값을 계산하는 방법