고급필터 + VBA

2024. 12. 17. 21:00
Sub SuperFilter()

Dim WS_1 As Worksheet, WS_2 As Worksheet


Set WS_1 = ThisWorkbook.Worksheets(1)
Set WS_2 = ThisWorkbook.Sheets("시트이름")

    WS_1.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=WS_2.Range("R1").CurrentRegion, _
    CopyToRange:=WS_2.Range("A1:C1"), _
    Unique:=False

End Sub

 

(1) 로우데이터가 있는 워크시트 1과 고급필터 내용을 뿌려줄 워크시트 2를 준비한다.

(2) 워크시트 변수에 할당하는 방법
Set 워크시트변수 = ThisWorkbook.Worksheets(시트순번) 
Set 워크시트변수 = ThisWorkbook.Sheets("시트이름")

(3) 고급필터를 실행하는 VBA를 입력한다.

WS_1.Range("A1") : 로우데이터가 시작하는 셀 위치
WS_2.Range("R1") : 고급필터를 적용할 조건이 시작하는 셀 위치
WS_2.Range("A1:C1") : 고급필터를 뿌려줄 셀 위치,
이때 로우데이터의 머릿말과 일치해야 하며 원하는 데이터만 선별해서 입력하면 해당 데이터만 필터링 된다. 

'VBA 이론' 카테고리의 다른 글

my함수 DynamicRange  (0) 2024.12.05
Workbook, WorkSheet, Range  (0) 2024.12.03
범위 선택, Function()  (0) 2024.11.21
파일을 실행하는 VBA  (1) 2024.11.19
영어 주소지를 한글로 변환해주는 VBA  (3) 2024.11.15