Excel VBA에서 INDEX MATCH를 사용하는 방법

  • 이 공유
Hugh West

VBA 코드 및 애플리케이션에서 VLOOKUP 함수 , CHOOSE 함수 PMT 함수 와 같은 내장된 Excel 워크시트 함수를 활용할 수 있습니다. 또한. 실제로 대부분의 Excel 워크시트 기능은 VBA code 에서 액세스하고 사용할 수 있습니다. INDEX & Excel VBA 코드의 MATCH 워크시트 함수.

VBA 에서 Excel 워크시트 함수를 사용하려는 이유 코드 ? 사용 중인 코드의 기능을 확장하는 것이 좋습니다. 또한 기능이 이미 있는 경우 실제로 필요한 경우가 아니면 자체 기능을 만들 필요가 없습니다. 기본적으로 해야 할 일은 필요한 기능에 액세스하는 것뿐입니다. 기능이 이미 있기 때문에 바퀴를 다시 발명할 필요가 없습니다.

그래서 INDEX MATCH를 사용하는 방법을 보여주는 예부터 시작하겠습니다. with Excel VBA.

Excel VBA 에서 INDEX MATCH 함수 를 활용하겠습니다. code , 간단한 사용자 양식을 만들기 위해. 양식을 사용하여 사용자는 학생의 이름을 선택한 다음 해당 학생의 성별과 눈 색깔을 검색하여 반환합니다.

연습 워크북 다운로드

연습 워크북을 다운로드하십시오. 스스로 연습하세요.

INDEX-MATCH.xlsx

VBA 코드 내에서 INDEX 및 MATCH를 사용하는 쉬운 9단계

The INDEX MATCH 함수는 고급 조회를 수행하기 위해 수식에서 조합하여 사용되는 경우가 많습니다. 이 둘을 함께 사용하면 VLOOKUP 에 비해 특정 이점을 제공합니다.

INDEX MATCH 를 사용하여 고급 작업을 수행하는 방법은 이미 자세히 다루었습니다. Excel 통합 문서 에서 이전 자습서 의 일반 워크시트 수식으로 조회합니다. 이제 VBA code 에서 INDEX MATCH 기능을 함께 사용하여 다음과 유사한 기능을 부여하는 방법을 살펴보겠습니다. 조회 UserForm 우리가 만들 예정입니다.

1단계: 데이터 세트에 INDEX 및 MATCH 함수 적용

  • 매크로에서 두 개의 시트로 시작합니다. -사용 가능한 통합 문서. 하나는 UserForm 이라는 빈 시트이고 다른 하나는 StudentInformation 이라는 시트입니다. 여기에는 학생 이름, 해당 성별 및 눈 색깔 을 아래에 나와 있습니다.

INDEX MATCH 실제 워크시트의 하나의 수식에서 조회하려는 학생 이름의 성별을 제공하는 함수입니다. 다음 공식을 사용합니다.

=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))

  • CTRL-ENTER 아래와 같이 성별로 Females 값을 반환합니다.

2단계: B 열의 이름을 StudentNames로 변경

  • 이제 아래와 같이 범위 A2: A31 , StudentNames 의 이름을 지정합니다.

  • StudentInformation 시트를 마우스 오른쪽 버튼으로 클릭하고 숨기기 를 선택하여 숨깁니다. 사용자가 편집하거나 보는 것을 원하지 않습니다.

3단계: Visual Basic 창 열기

  • 이제 사용자 양식 시트가 활성화되면 로 이동합니다. 개발자 > 코드 > Visual Basic Visual Basic Editor(VBE) 를 열기 위해.
  • VBE 인터페이스 에서 아래와 같이 삽입, 사용자 양식으로 이동합니다. .

4단계: 속성 변경 및 텍스트 상자 추가

  • 속성 창 사용 양식의 이름을 StudentLookup 으로 변경하고 캡션을 학생 정보 조회로 변경하고 BackColor 를 하늘색으로 변경하고 높이를 300<2로 설정합니다> px이고 너비는 350 px입니다. 속성 창이 표시되지 않을 경우 키보드의 F4 키를 눌러 확인하세요.

  • 이제 도구 상자 를 사용하여 레이블을 삽입하고(도구 상자가 보이지 않는 경우 어떤 이유로 보기, 도구 상자 로 이동) 캡션을 학생 선택으로 변경하면 이 경우 BackColor 를 흰색으로 바꿉니다. 글꼴을 Georgia 로, 글꼴 스타일을 bold 로, 글꼴 크기를 12 로 설정하고 가운데 는 텍스트를 정렬합니다. 사용되는 특수 효과는 아래와 같이 1– fmSpecialEffectRaised 입니다.

  • 이제 아래에 콤보 상자를 삽입합니다. 상표. 이 콤보 상자의 이름을 cmdStudentName으로 지정하고 RowSource StudentNames

  • 를 입력합니다. 콤보박스의 RowSource 를 설정한 효과, Sub/UserForm 버튼을 클릭 .
  • >RowSource 를 이름이 지정된 범위로 설정하고 사용자가 사용자 정의 양식의 드롭다운 화살표를 클릭하면 아래와 같이 콤보 상자에 이름이 지정된 범위의 학생 이름이 자동으로 표시됩니다.

  • 닫기 버튼을 클릭하여 사용자 양식을 닫습니다. VBE 로 돌아가려면 Alt-F11 을 누르십시오.
  • VBE 로 돌아가서 사용자 양식( 콤보 상자 아래) Caption Gender 로 변경하고 이 경우 BackColor 를 흰색으로 변경합니다. 글꼴을 Georgia 로, 글꼴 스타일을 bold 로, 글꼴 크기를 12 로 설정하고 텍스트를 가운데 로 정렬합니다. . 사용되는 특수 효과는 아래와 같이 1– fmSpecialEffectRaised 입니다.

  • Create 텍스트 상자 Gender label 아래에 이름을 txtGender 로 지정합니다.
  • Add Eye<2라는 다른 레이블을 지정합니다> Color 및 이름이 지정된 텍스트 상자 txtEyeColor 는 아래와 같습니다. 사용 사용자 양식 의 모양이 일관되게 하려면 이전에 양식에 추가한 두 개의 다른 레이블과 동일한 레이블 속성을 사용하십시오.

  • 이제 선택 사용자 양식 에 추가된 모든 컨트롤을 지금까지 컨트롤 키를 사용하여 선택합니다.

  • 가운데 아래와 같이 수평으로.

읽기 더 보기: Excel에서 INDEX MATCH 수식을 사용하는 방법(예 9개)

유사한 읽기

  • Excel 셀에 텍스트가 포함된 경우 INDEX MATCH
  • Excel에서 INDEX-MATCH 수식을 사용하여 여러 결과를 생성하는 방법
  • Excel에서 인덱스 일치 합계 여러 행 (3가지 방법)
  • Excel VBA 프로그래밍 배우기 & 매크로(무료 자습서 – 단계별)
  • 22개의 Excel VBA 매크로 예제

5단계: 도구 상자에서 버튼 추가

  • 다음으로 도구 상자 를 사용하여 양식에 버튼을 추가 합니다. 변경 버튼의 이름 cmdLookUp 으로, BackColor 를 밝은 주황색으로 변경하고 Tahoma 글꼴을 유지하고 변경 스타일을 굵게 로 변경하고 마지막으로 버튼의 캡션 Look up Student로 변경합니다. 상세 정보 는 아래와 같습니다.

6단계: VBA 코드 삽입

  • 새로 추가된 버튼 를 마우스 오른쪽 버튼으로 클릭하고 select View Code .

  • 버튼에 다음 코드 입력 클릭 이벤트:

4030

변수 를 선언하고 선언된 변수에 변형 데이터 유형을 할당하는 것으로 시작합니다. 변형 데이터 유형. Variant 데이터 유형은 시작하기에 좋은 데이터 유형입니다. 워크시트 함수 로 작업할 때 결과를 항상 확신할 수는 없기 때문입니다. 따라서 시작할 때 변형 데이터 유형을 사용하십시오.

나중에 정수 또는 문자열과 같은 다른 보다 구체적인 데이터 유형 중 하나를 사용하는 것이 좋습니다. 더 긴 고급 코드의 경우 Variant 데이터 유형은 다른 데이터 유형만큼 효율적으로 메모리를 사용하지 않습니다.

변수 a 사용자가 선택한 옵션에서 값을 그립니다. UserForm 의 드롭다운 콤보 상자. 선택 항목이 없으면 다른 모든 텍스트 상자는 비어 있습니다 .

콤보 상자 에서 학생 이름을 선택하면 사용자 양식 변수 b는 INDEX 워크시트 함수와 MATCH 함수 를 함께 사용하여 값을 그립니다. 그림과 같이 VBA 코드입니다.

기본적으로 워크시트 함수와 동일한 구문을 사용하여 값을 찾습니다. VBA 에서 워크시트 기능을 사용할 때 VBA IntelliSense 직관적이지 않습니다.워크시트 지식에서 얻은 구문을 사용하는 것이 좋습니다. 변수 c MATCH Function<과 함께 INDEX Worksheet Function 을 사용하여 값을 그립니다. 2> 사용자가 콤보 상자에서 옵션을 선택할 때 VBA 코드에서.

변수 b gender <1에서 값을 얻습니다>column 이고 변수 c 는 워크시트의 눈동자 색 열에서 값을 가져옵니다.

성별 텍스트 상자는 b 로 채워집니다. 값과 눈 색상 텍스트 상자는 c 의 값으로 채워집니다.

자세히 보기: Excel VBA 이벤트(완전한 지침)

7단계: 명령 단추 삽입

  • 이제 통합 문서에서 UserForm 이라는 워크시트로 이동합니다. 아래와 같이 포맷 하고 ExcelWIKI 에서 제공하는 이미지를 삽입 합니다.

  • 개발자로 이동 > 컨트롤 > 삽입 > ActiveX 컨트롤.

  • 삽입 버튼을 그림과 같이 삽입합니다.

  • 버튼을 선택한 상태에서 개발자>로 이동합니다. 컨트롤 > 속성 .

  • 변경 버튼의 이름 cmdShowForm 캡션 에서 조회 학생 정보 .

8단계: 보기 조회 코드

  • 버튼을 마우스 오른쪽 버튼으로 클릭 하고 그림과 같이 선택 코드 보기 아래.

  • 다음 코드를 입력하십시오.
6303

9단계: 최종 결과

  • 워크시트로 표시합니다. 디자인 모드 가 선택되지 않았는지 확인합니다.
  • 버튼을 클릭하면 양식이 나타납니다.

  • 선택 콤보 상자 를 사용하여 학생 이름. 이 코드는 학생의 성별과 눈 색깔을 자동으로 반환합니다.

통합 문서를 매크로 사용 통합 문서로 저장 하는 것을 잊지 마십시오 , 아직 수행하지 않은 경우 INDEX & 조회 양식을 만들기 위한 Excel VBA 코드의 MATCH 워크시트 기능

자세히 보기: 수평으로 여러 값을 반환하는 Excel INDEX-MATCH 수식

결론

Excel에는 INDEX & Excel VBA 코드의 MATCH 워크시트 함수. 이 함수를 사용하면 VBA 코드를 확장할 수 있습니다. 표준 Excel 워크시트를 사용하면 VBA 에 대한 지식을 적용하여 학습 곡선이 그다지 좋지 않습니다. VBA 코드 에서 워크시트 기능에 액세스하면 시간을 크게 절약할 수 있습니다. 이미 존재하는 기능을 위해 사용자 지정 기능을 개발할 필요가 없기 때문입니다.

언제든지 의견을 말하고 알려주세요.VBA 코드 및 응용 프로그램에서 워크시트 기능을 사용하는 경우 저희에게 문의하십시오.

검토 섹션: 이해도 테스트

1) A열에 감귤, 당근, 오렌지 세 항목의 간단한 목록을 설정합니다. , B열의 각 항목 옆에 있는 셀에서 A열의 항목이 과일인지 야채인지 나열합니다. 샘플 데이터 설정을 완료한 후 INDEX & MATCH 조합 기능으로 당근이 과일인지 채소인지 알려줍니다.

2) ESPN의 이 데이터 세트를 NFL 헤드 코치와 그들이 코칭하는 각 팀에 사용합니다. 사용자가 텍스트 상자에 특정 코치의 이름을 입력할 수 있는 사용자 양식을 만듭니다. 그런 다음 사용자가 제출을 클릭하면 그가 지도하는 팀이 다른 텍스트 상자에 전달되도록 합니다. INDEX & MATCH VBA 코드 내의 워크시트 기능 조합.

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