Excel에서 데이터를 필터링하는 VBA 코드(예제 8개)

  • 이 공유
Hugh West

엑셀 정렬 & 필터 명령 의 범위는 데이터 필터링 으로 제한됩니다. 그러나 VBA 를 사용하면 데이터 필터링 을 원하는 대로 광범위하게 수행할 수 있습니다. 이 문서에서는 VBA 코드를 사용하여 Excel에서 데이터 필터링 VBA 코드를 생생한 삽화와 함께 사용하는 8가지 유용한 예를 제공합니다.

실습 워크북 다운로드

여기에서 무료 Excel 템플릿을 다운로드하여 직접 연습할 수 있습니다.

데이터 필터링을 위한 VBA 코드.xlsm

VBA 코드를 사용하여 Excel에서 데이터를 필터링하는 8가지 예

일부 학생의 성별, 상태 및 연령 .

1. VBA 코드를 사용하여 Excel의 텍스트 기준에 따라 데이터 필터링

첫 번째 예에서는 VBA 를 사용하여 필터 만 <1합니다>남성 데이터세트의 성별 열의 학생.

단계:

  • 오른쪽 클릭 시트 제목 .
  • 그런 다음 컨텍스트 메뉴 에서 코드 보기 를 선택합니다.

곧 그런 다음 VBA 창이 열립니다.

  • 다음 코드 를 입력하십시오. it-
4510
  • 나중에 VBA

최소화 코드 분석

  • 여기서 하위 프로시저 Filter_Data_Text() 를 생성했습니다.
  • 그런 다음 Range 속성은 각 시트 이름 을 선언하고 range
  • 다음으로 AutoFilter 방법 을 사용하여 Field:=2 가 의미하는 Criteria 를 사용했습니다. 열 2 . 그리고 Criteria1:=”Male” Filter Male.
  • 그 후 매크로 대화 상자 를 열고 다음과 같이 클릭합니다. 개발자 > 매크로.

  • 코드에 언급된 대로 매크로 이름 을 선택합니다. .
  • 마지막으로 실행 을 누르십시오.

이제 남학생 데이터 필터링 후.

자세히 보기: 엑셀 필터 데이터 기반 셀 값(6가지 효율적인 방법)

2. VBA 코드를 적용하여 하나의 열에 여러 기준이 있는 데이터 필터링

여기서는 하나의 열에 여러 기준에 대해 필터링 합니다. 데이터 세트의 세 번째 열에서 대학원 대학원 학생을 필터 합니다.

단계:

  • 첫 번째 예 의 처음 두 단계 를 따라 VBA 창 을 엽니다.
  • 나중에 입력 다음 코드 in it-
4339
  • 그런 다음 VBA
<0 최소화>

코드 분석

  • 여기서 하위 절차 를 생성했습니다. Filter_One_Column() .
  • 그런 다음 Range 속성을 ​​사용하여 각각의 시트 이름 범위
  • 를 선언했습니다. 다음으로 필드:=3 열 3 을 의미하는 내가 선택한 기준 을 사용하는 AutoFilter 방법 . 여기서 Criteria1:=”Graduate” Criteria2:=”Postgraduate” 필터 학생의 상태 .
  • 마지막으로 Operator:=xlOr 를 사용하여 여러 기준에 OR 조건 Filter 를 적용했습니다.
  • 이때 순간, 첫 번째 예 세 번째 단계 를 따라 매크로 대화 상자 상자 를 엽니다.
  • 나중에 지정된 매크로 이름 을 선택하고 실행 을 누릅니다.

곧 아래 이미지와 같은 여러 기준에 따라 필터링된 행을 얻게 됩니다.

자세히 알아보기: Excel에서 여러 기준 필터링 (적절한 4가지 방법)

3. VBA 코드를 적용하여 Excel의 여러 열에서 여러 기준으로 데이터 필터링

이제 여러 기준에 대해 필터링 합니다. 학생.

단계:

  • 첫 번째 예 의 처음 두 단계 를 따라 VBA
  • 나중에 열기, 쓰기 다음 코드 in it-
8074
  • VBA 창 최소화 .

코드 분석

  • 여기서 Sub 프로시저 Filter_Different_Columns() 를 생성했습니다.
  • 그리고 With 문을 사용하여 여러 열 .
  • 그런 다음 범위 사용각 시트 이름 범위
  • 를 선언하는 속성을 다음으로 자동 필터 방법 을 사용하여 기준 을 사용했습니다. 여기서 Field:=2 열 2 를 의미하고 Field:=3 열 3 을 의미합니다.
  • 여기 , Gender 열에 대해 Criteria1:=”Male” 을 선택하고 Status 열에 대해 Criteria1:=”Graduate” Filter로 선택했습니다. 다른 열 의 데이터.
  • 그런 다음 첫 번째 예 에서 세 번째 단계 를 수행하여 매크로 대화 상자 .
  • 나중에 지정된 매크로 이름 을 선택하고 실행을 누릅니다 .

여러 기준의 결과는 다음과 같습니다.

자세히 보기: Excel VBA 여러 기준으로 동일한 열에서 필터링(예 6개)

4. VBA 코드를 사용하여 Excel에서 상위 3개 항목 필터링

이 예에서는 나이 에 따라 상위 3명의 학생 을 필터링합니다.

단계:

  • 첫 번째 예 의 처음 두 단계 를 따라 VBA 창을 엽니다. .
  • 그런 다음 유형 다음 코드 를 입력합니다.-
3174
  • 그 후 을 최소화합니다. VBA 창 .

코드 분석

  • 여기, I 하위 프로시저, Filter_Top3_Items() 를 생성했습니다.
  • 그런 다음 Operator:=xlTop10Items Filter 에 사용했습니다 상위 3위 data .
  • 이제 첫 번째 예 에서 세 번째 단계 를 따라 매크로 대화 상자 상자 .
  • 그런 다음 코드에 언급된 대로 매크로 이름 을 선택하고 실행 을 누릅니다.

그러면 아래 이미지와 같은 출력이 표시됩니다.

자세히 보기: Excel VBA를 사용하여 셀 값을 기반으로 필터링하는 방법(4가지 방법)

유사 판독값

  • 언제 복사 및 붙여넣기 방법 필터가 Excel에 적용됨
  • Excel에서 고유한 값을 필터링하는 방법(8가지 쉬운 방법)
  • VBA를 사용하여 Excel에서 여러 기준 필터링(둘 다 AND 및 OR 유형)
  • 엑셀에서 텍스트 필터를 사용하는 방법(예 5개)
  • 엑셀에서 날짜로 필터링하는 방법(4단속) 방법)

5. VBA 코드를 사용하여 Excel에서 상위 50% 필터링

VBA 코드를 사용하여 연령을 기준으로 학생의 상위 50% 필터링 .

단계:

  • 먼저, 첫 번째 예 의 처음 두 단계 를 따릅니다. VBA 창 을 열려면
  • 나중에 다음 코드 를 입력하십시오-
8696
  • VBA 창 을 최소화합니다.

코드 분해

  • 여기서 Sub 프로시저 Filter_Top50_Percent() 를 만들었습니다.
  • 나중에 Operator:=xlTop10Percent 를 <1에 사용했습니다> 에서 상위 50% 필터링 column-4 .
  • 이 시점에서 첫 번째 예 의 세 번째 단계 를 따라 매크로 대화 상자.
  • 그런 다음 지정된 매크로 이름 을 선택하고 실행 을 누릅니다.

7명의 학생 이 있어서 50% 로 대략 3명의 학생 을 보이고 있습니다.

자세히 보기: Excel에서 이익 비율 공식을 사용하는 방법(예 3개)

6 . VBA 코드를 적용하여 와일드카드

VBA 코드 와일드카드 문자-*(별표) 를 사용하여 Excel에서 데이터를 필터링할 수 있습니다. 상태 열 에서 '게시' 가 포함된 값만 필터링합니다.

단계:

  • 첫 번째 예 의 처음 두 단계 를 따라 VBA 창 을 엽니다.
  • 그런 다음 쓰기 다음 코드 in it-
7989
  • 나중에 VBA 창 을 최소화합니다.

코드 분류

  • 여기서 하위 절차인 Filter_with_Wildcard()<를 만들었습니다. 18>.
  • 그런 다음 Range (“B4”) 를 사용하여 범위를 설정했습니다.
  • 다음 , 사용 Filter 에서 Filter in Field:=3 열 3을 의미합니다.
  • Criteria1:=”*Post *” 'Post'가 포함된 값을 Filter 합니다.
  • 이제 세 번째 단계를 따르십시오 먼저 매크로 대화 상자를 열려면 example 상자.
  • 지정된 매크로 이름 을 선택하고 실행 을 누릅니다.

그러면 원하는 결과를 얻을 수 있습니다.

자세히 알아보기: Excel에서 필터를 추가하는 방법(4가지 방법) )

7. Excel VBA를 포함하여 필터링된 데이터를 Excel의 새 시트에 복사

내 데이터 세트에 일부 필터링된 데이터가 있는지 확인합니다. 이제 VBA 를 사용하여 새 시트에 복사하겠습니다. 이러한 코드는 시트에서 제대로 작동하지 않으므로 모듈에서 적용해야 합니다.

단계:

  • Alt+F11 을 눌러 VBA

  • 를 연 다음 삽입 > Module to 모듈을 엽니다 .

  • 이제 작성 다음 코드
2451
  • 그런 다음 VBA

코드 분석

  • 여기서 하위 프로시저 Copy_Filtered_Data_NewSheet() 를 만들었습니다.
  • 그 후 x Rng As Range 및 xWS As Worksheet.
  • 그런 다음 IF 문 을 사용하여 Filtered
  • 를 확인하고 나중에 MsgBox 를 사용하여 출력을 표시합니다.
  • 그런 다음 Worksheets("Copy Filtered Data")를 사용했습니다.AutoFilter .Range Filtered 범위를 선택하고 Add 를 사용하여 새 시트를 추가합니다.
  • 마지막으로 Copy Range(“G4”) 필터링된 데이터를 새 시트 에 복사합니다.
  • 나중에 다음을 따릅니다.세 번째 단계 첫 번째 예 에서 매크로 대화 상자 를 엽니다.
  • 그런 다음 지정된 매크로 이름<을 선택합니다. 2> 및 실행 을 누릅니다.

이제 Excel에서 새 시트가 열리고 필터링된 행이 복사되었습니다.

자세히 보기: Excel 필터 바로 가기(예제와 함께 3가지 빠른 사용)

8. VBA 코드를 적용하여 드롭다운 목록을 사용하여 데이터 필터링

마지막 예에서는 먼저 성별에 대한 드롭다운 목록을 만든 다음 데이터 필터링에 사용할 것입니다. 이를 위해 성별 기준을 다른 위치에 배치하고 셀 D14 에 드롭다운 목록을 만듭니다.

단계:

  • 셀 D14 를 선택합니다.
  • 다음과 같이 클릭 합니다. 데이터 > 데이터 도구 > 데이터 유효성 검사 > 데이터 확인.

대화 상자 가 열립니다.

선택 허용 드롭다운 에서 목록 .

그런 다음 소스 상자 에서 열기 아이콘 을 클릭합니다.

이제 기준 범위를 선택하고 엔터 버튼을 누르세요 .

  • 이제 확인 을 누르십시오.

이제 드롭다운 목록이 준비되었습니다.

  • 이제 첫 번째 예 의 처음 두 단계 를 따라 VBA 창 을 엽니다. .
  • 그런 다음 작성 다음 코드
5089
  • 그런 다음 VBA 최소화window .

코드 분석

  • 여기에 a 개인 하위 절차, Worksheet_Change(ByVal Target As Range).
  • 그런 다음 일반 에서 워크시트 를 선택하고 신고서 에서 변경 를 선택했습니다.
  • 그런 다음 주소 를 설정하여 위치를 알 수 있습니다.
  • 마지막으로 IF 문 내에서 자동 필터 방법을 필드 <2와 함께 사용했습니다>및 기준
  • 이제 드롭다운 목록 에서 기준을 선택하면 필터가 활성화됩니다 .

다음은 드롭다운 에서 남성 을 선택한 후 필터링됨 출력입니다.

자세히 보기: Excel의 다른 시트에서 목록으로 필터링하는 방법(2가지 방법)

연습 섹션

설명된 방법을 연습할 수 있는 연습 시트를 위에 제공된 엑셀 파일로 받게 됩니다.

결론

위에 설명된 절차가 Excel에서 VBA 코드를 필터링 데이터로 사용하기에 충분하기를 바랍니다. 의견 섹션에 질문이 있으면 자유롭게 질문하고 피드백을 보내주세요.

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