Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

Excel의 자동 필터 이 기능은 특정 조건을 기반으로 데이터를 추출하는 데 정말 효율적입니다. VBA 구현 Excel에서 모든 작업을 실행하는 가장 효과적이고 빠르고 안전한 방법입니다. 이 기사에서는 동일한 필드(열)에 대한 여러 기준으로 자동 필터링 하는 4가지 방법을 보여줍니다. VBA 매크로를 사용하여 Excel에서 .

통합 문서 다운로드

여기에서 무료 연습 Excel 워크북을 다운로드할 수 있습니다.

Excel의 동일한 필드(열)에서 여러 기준으로 자동 필터링하는 VBA를 사용하는 4가지 방법

이 섹션에서는 AND 연산자 및 OR 연산자를 사용하여 여러 텍스트 및 숫자 값으로 자동 필터링하는 방법을 배웁니다. 같은 열에 Excel에서 VBA 4가지 기준으로.

1. 동일한 열에 여러 숫자 기준을 사용하여 자동 필터에 VBA 포함

다음 데이터 세트를 고려하십시오. B열 일부 난수로 구성 , 반면 D열 홀수만 보유 . 여기서 할 일은 D열에 있는 기준에 따라 B열을 필터링하는 것입니다.; 즉, 난수 (B열 )은 홀수로 필터링됩니다. D열에 있는 숫자 포함 및 사이 기준 .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

VBA 를 사용하여 이를 수행하는 방법을 살펴보겠습니다. 엑셀에서.

단계:

  • 처음에 Alt + F11 키를 누릅니다. 키보드에서 또는 개발자 -> Visual Basic 탭으로 이동합니다. Visual Basic Editor 열기 .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 다음으로 팝업 코드 창의 메뉴 표시줄에서 삽입 -> 모듈을 클릭합니다. .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterWithMultipleCriteriaOnSameColumn()
Dim iArray As Variant
With ThisWorkbook.Worksheets("Column")
    iArray = Split(Join(Application.Transpose(.Range(.Cells(5, 4), .Cells(.Range("D:D").Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row, 4)).Value)))
    .Range("B4").AutoFilter Field:=1, Criteria1:=iArray, Operator:=xlFilterValues
End With
End Sub

이제 코드를 실행할 준비가 되었습니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 이제 F5 키를 누릅니다. 키보드 또는 메뉴 모음에서 실행 -> 하위/UserForm 실행을 선택합니다. . 작은 실행 아이콘을 클릭할 수도 있습니다. 하위 메뉴 표시줄에서 매크로를 실행합니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

코드 실행 성공 후 다음 이미지를 통해 결과를 확인해 보세요.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

위 이미지에서 볼 수 있듯이 B열 이제 필터링됩니다. 홀수만 사용 .

동일한 코드를 수행하여 짝수를 기반으로 데이터를 필터링할 수 있습니다. . 이 경우 홀수가 아닌 다른 열에 짝수를 저장하기만 하면 됩니다.

VBA 코드 설명

Dim iArray As Variant

변수 정의 배열의 경우 .

With ThisWorkbook.Worksheets("Column")

워크시트 이름 선언 (“ "는 데이터 세트의 시트 이름입니다). 데이터세트에 따라 시트 이름을 작성해야 합니다.

iArray = Split(Join(Application.Transpose(.Range(.Cells(5, 4), .Cells(.Range("D:D").Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row, 4)).Value)))

정의된 배열 채우기 저장된 기준 D열 셀 D5에서 시작 .

.Range("B4").AutoFilter Field:=1, Criteria1:=iArray, Operator:=xlFilterValues
End With
  • 필터 열 셀 B4에서 시작 저장된 여러 기준에 따라 정의된 배열에서 .
  • 그 후 떠납니다 워크시트 .

자세히 알아보기: 자동 필터가 켜져 있는지 확인하는 Excel VBA(4가지 쉬운 방법)

2. Excel의 동일한 열에 AND 연산자를 사용하여 자동 필터에 VBA 구현

엑스랜드 Excel의 연산자는 두 가지 기준으로 작동합니다. 두 기준을 모두 충족하는 값을 반환합니다. .

이제 다음 데이터 세트를 고려하십시오. B열 난수로 구성 그리고 D4:E5 범위에 두 개의 조건을 삽입했습니다. . 조건은 B열입니다. 필터링해야 합니다. 2보다 크거나 같음 숫자 (셀 E4에 저장된 값 ) 9 이하 (셀 E5에 저장된 값 ). B열을 필터링합니다. 이러한 조건에 따라 AND 연산자 Excel VBA에서 .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

이를 얻는 단계는 아래에 나와 있습니다.

단계:

  • 이전과 같은 방식으로 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
  • 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterOnSameColumnWithAND()
With ThisWorkbook.Worksheets("AND")
    .Range("B4").AutoFilter Field:=1, Criteria1:=">=" & .Range("E4").Value, Operator:=xlAnd, Criteria2:="<=" & .Range("E5").Value
End With
End Sub

이제 코드를 실행할 준비가 되었습니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 그 후 실행 위 섹션에서 보여드린 매크로입니다. 결과는 아래 이미지와 같습니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

성공적인 코드 실행 후 B열 2에서 9까지 값으로 필터링됩니다. , 두 조건을 모두 충족합니다.

VBA 코드 설명

With ThisWorkbook.Worksheets("AND")
 .Range("B4").AutoFilter Field:=1, Criteria1:=">=" & .Range("E4").Value, Operator:=xlAnd, Criteria2:="<=" & .Range("E5").Value
End With

이 코드 조각,

  • 먼저 워크시트 이름을 선언합니다. 우리가 함께 일하게 될 것입니다(“그리고 "는 데이터 세트의 시트 이름입니다). 데이터세트에 따라 시트 이름을 작성해야 합니다.
  • 그 후 B열 필터링 셀 B4에서 시작 저장된 여러 기준에 따라 셀 E4에서 및 E5 xlAnd 연산자.
  • 그런 다음 떠납니다 워크시트 .

자세히 알아보기: [수정]:범위 클래스의 자동 필터 방법 실패(5개 솔루션)

3. Excel의 동일한 열에 OR 연산자를 사용하여 자동 필터에 매크로 적용

xlOR Excel의 연산자는 두 가지 기준으로 작동합니다. xland와 달리 , 기준을 충족하는 값을 반환합니다. .

이제 다음 데이터 세트를 고려하십시오. B열 난수로 구성 그리고 D4:E5 범위에 두 개의 조건을 삽입했습니다. . 조건은 B열입니다. 12보다 크거나 같음인 숫자로 필터링해야 합니다. (셀 E4에 저장된 값 ) 또는 7보다 작거나 같음 (셀 E5에 저장된 값 ). B열을 필터링합니다. OR 연산자를 사용하여 해당 조건에 따라 Excel VBA에서 .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

그 방법에 대한 단계를 살펴보겠습니다.

단계:

  • 이전에 표시된 대로 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
  • 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterOnSameColumnWithOR()
With ThisWorkbook.Worksheets("OR")
    .Range("B4").AutoFilter Field:=1, Criteria1:="<" & .Range("E5").Value, Operator:=xlOr, Criteria2:=">" & .Range("E4").Value
End With
End Sub

이제 코드를 실행할 준비가 되었습니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 나중에 실행 매크로를 실행하고 다음 이미지를 보고 출력을 확인하세요.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

성공적인 코드 실행 후 B열 12보다 크거나 같거나 7보다 작거나 같은 값으로 필터링됩니다. .

VBA 코드 설명

With ThisWorkbook.Worksheets("OR")
 .Range("B4").AutoFilter Field:=1, Criteria1:="<" & .Range("E5").Value, Operator:=xlOr, Criteria2:=">" & .Range("E4").Value
End With

이 코드 조각,

  • 먼저 워크시트 이름을 선언합니다. 우리가 협력할 것입니다(“또는 "는 데이터 세트의 시트 이름입니다). 데이터세트에 따라 시트 이름을 작성해야 합니다.
  • 그 후 B열 필터링 셀 B4에서 시작 저장된 여러 기준에 따라 셀 E4에서 및 E5 xlOr 연산자.
  • 그런 다음 떠납니다 워크시트 .

자세히 알아보기: Excel VBA로 보이는 행을 자동 필터링하고 복사하는 방법

4. 동일한 필드의 여러 텍스트 값을 기반으로 자동 필터에 VBA 포함

다음 데이터세트를 보십시오. B열 국가 이름으로 구성 . 매크로에서 하드코딩할 국가를 기준으로 이 열을 필터링합니다. 열 자동 필터링 호주 라는 두 개의 국가 이름을 기반으로 함 및 영국 .

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

실행 단계는 아래와 같습니다.

단계:

  • 먼저 Visual Basic Editor를 엽니다. 개발자 탭 및 삽입 모듈 코드 창에서
  • 그런 다음 복사 다음 코드 및 붙여넣기 코드 창에 넣습니다.
Sub AutoFilterOnSameColumnWithMultipleTexts()
Dim iArray As Variant
iArray = Array("Australia", "England")
Range("B4", Range("B" & Rows.Count).End(xlUp)).AutoFilter 1, iArray, xlFilterValues, , 0
End Sub

이제 코드를 실행할 준비가 되었습니다.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

  • 다음으로 실행 매크로. 이제 다음 이미지를 보고 결과를 확인하세요.

VBA에서 Excel의 동일한 필드에 대한 여러 기준으로 자동 필터링(4가지 방법)

결과적으로 B열 너무 많은 국가로 채워져 있던 것이 이제 필터링되었습니다. 두 개의 국가 이름만 포함 - 호주영국 – 코드에서 제공한 것입니다.

VBA 코드 설명

Dim iArray As Variant

변수 정의 배열의 경우 .

iArray = Array("Australia", "England")

스토어 텍스트 기준 필터링을 기반으로 정의된 배열에서 수행됩니다. .

Range("B4", Range("B" & Rows.Count).End(xlUp)).AutoFilter 1, iArray, xlFilterValues, , 0

필터 열 셀 B4에서 시작 하드코딩된 여러 텍스트 기준에 따라 정의된 배열에서 .

자세히 알아보기: Excel에서 VBA를 사용하여 특정 값과 같지 않은 값을 자동 필터링하는 방법

결론

결론적으로 이 기사에서는 동일한 필드(열)에 대해 여러 기준으로 자동 필터링 하는 4가지 방법을 보여주었습니다. VBA 매크로를 사용하여 Excel에서 . 이 글이 당신에게 많은 도움이 되었기를 바랍니다. 주제와 관련하여 언제든지 질문하십시오.

관련 기사

  • VBA 자동 필터:작은 것부터 큰 것 순으로 정렬(3가지 방법)
  • Excel VBA:자동 필터가 있는 경우 제거(예제 7개)