VBA에서 찾기 기능을 사용하는 방법(예제 6개)

  • 이 공유
Hugh West

Visual Basic Application(VBA) 에서 사용하는 가장 중요하고 널리 사용되는 기능 중 하나는 찾기 기능입니다. 이번 글에서는 엑셀의 FIND 기능 을 제대로 활용하는 방법을 예시와 그림으로 보여드리겠습니다.

실습 워크북 다운로드

Excel.xlsm의 VBA에서 함수 찾기

6 VBA에서 FIND 함수를 사용하는 빠른 예

다음은 Martin Bookstore라는 서점에서 책 이름, 저자 가격 이 포함된 데이터 세트를 얻었습니다.

Today 우리의 목표는 이 데이터 세트에서 VBA 찾기 기능 의 다양한 사용 유형을 확인하는 것입니다.

1. 매개변수 없이 VBA에서 찾기 기능 사용

매개변수 없이 VBA 찾기 기능 을 사용할 수 있습니다.

그런 다음 셀 범위 내에서 특정 값을 검색하고 찾은 첫 번째 일치 항목을 반환합니다.

“P. B. Shelly” 열의 저자 ( C4:C13 ).

찾기 기능 이 있는 행은 다음과 같습니다.

Set cell = Range("C4:C17").Find("P. B. Shelly")

완전한 VBA 코드 는 다음과 같습니다.

VBA 코드:

5527

출력:

매크로 찾기 라고 합니다. 매크로를 실행하면 이름이 P인 첫 번째 셀 주소인 $C$6 가 반환됩니다. B. Shelly .

더 읽기: VBA를 사용하여 범위 내에서 찾기Excel: 완전 일치 및 부분 일치 포함

2. After 매개변수를 사용하여 VBA에서 찾기 기능 적용(특정 셀에서 검색 시작)

찾기 기능 과 함께 After 매개변수를 사용할 수 있습니다. VBA 에서. 그런 다음 범위 내의 셀 아래에서 값 검색을 시작합니다.

예를 들어 “P. B. Shelly” 셀 아래에서 C6 .

코드 줄은 다음과 같습니다.

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

완전한 VBA 코드 는 다음과 같습니다.

VBA 코드:

4471

출력:

C6 아래에서 검색을 시작하기 때문에 $C$13 를 반환합니다. 셀 C7 에서 가져온 것입니다. 따라서 P를 얻습니다. B. 셀 C13 의 Shelly 먼저.

자세히 알아보기: 에서 문자열을 찾는 방법 엑셀에서 VBA를 이용한 셀

3. After 매개변수를 감싸서 VBA에서 찾기 기능 실행(순환 방식으로 값을 검색하려면)

찾기 기능이 있는 After 매개변수 순환 방식으로 값을 검색합니다.

즉, 범위 내의 셀 아래에서 검색을 시작하여 범위에서 검색을 마치고 다시 범위의 상단에서 시작합니다.

예를 들어, After 매개변수를 사용하여 C8 셀 아래에서 “John Keats” 라는 이름 검색을 시작하겠습니다.

코드는 다음과 같습니다.

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

완전한 VBA 코드 는 다음과 같습니다:

VBA 코드:

8212

출력:

C8 아래에서 검색을 시작하기 때문에 $C$7 를 반환합니다. cell C9 .

C13 까지 아무 것도 찾지 못하므로 셀 C4 에서 다시 시작하여 셀에서 하나를 찾습니다. C7 .

비슷한 읽기:

  • VBA로 문자열을 찾는 방법 in Excel (예제 8개)
  • Excel에서 VBA를 사용하여 정확히 일치하는 항목 찾기(5가지 방법)
  • VBA를 사용하여 찾고 바꾸는 방법(11 방법)

4. LookAt 매개변수와 함께 VBA의 찾기 기능 활용(정확한 일치 또는 부분 일치의 경우)

VBA 찾기 기능 LookAt 매개변수.

정확 일치에는 LookAt = xlWhole 을 사용하고 부분 일치에는 LookAt=xlPart 를 사용하십시오. 일치.

예를 들어, 책 이름 열( B4:B13 ).

코드 라인에서 xlWhole 을 사용하는 경우:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

정확한 일치 항목을 찾지 못하기 때문에 출력에 오류가 표시됩니다.

그러나 다음을 사용하는 경우:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

그러면 “Ode” 라는 이름의 책이 있으므로 $B$9 를 반환합니다. B7 , Ode to the Nightingale.

따라서 부분 일치에 대한 전체 코드입니다:

VBA 코드:

6505

5. SearchDirection 매개변수로 VBA에서 찾기 기능 작동(검색 방향 지정)

VBA 에서 찾기 기능 을 다음과 함께 사용할 수도 있습니다. SearchDirection 매개변수.

SearchDirection = xlNext 를 사용하여 위에서 아래 로 검색합니다.

SearchDirection = xlPrevious Bottom to Top 을 검색합니다.

예를 들어 Author 열에서 저자 Elif Shafak 을 찾아보겠습니다. ( C4:C13 ).

코드 라인에서 xlNext 를 사용하는 경우:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

그러면 $C$5 .

를 반환하지만 다음을 사용하는 경우:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

그런 다음 $C$11 을 반환합니다.

따라서 아래에서 위로 검색하기 위한 전체 코드

VBA 코드:

2664

6입니다. MatchCase 매개변수가 있는 VBA의 찾기 기능(대소문자 구분 또는 구분하지 않는 일치의 경우)

마지막으로 찾기 기능 MatchCase 매개변수와 함께 사용할 수 있습니다.

대소문자를 구분하는 일치 , 의 경우 MatchCase = True 를 사용하고 의 경우 MatchCase=False 를 사용합니다. 대소문자를 구분하지 않는 일치.

예를 들어 책 이름 열( B4:B13 ).

코드 줄에서 True를 사용하면:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

출력에 오류가 표시됩니다. t 아무것도 찾지match.

그러나 다음을 사용하는 경우:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

다음을 반환합니다 $ B$9 B8 "Mother" 라는 이름의 책이 있기 때문입니다.

대소문자 구분 일치:

VBA 코드:

6908

결론

이러한 방법을 사용하면 Visual Basic Application에서 찾기 기능을 사용할 수 있습니다. 질문있으세요? 언제든지 문의해 주세요.

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.