티스토리 뷰
고급필터 예제
Sub main_advanced()
Call advancedFilter
End Sub
Sub advancedFilter()
끝열주소 = get컬럼주소(get가로개수("filter"))
Sheets("filter").Range("a9:" & 끝열주소 & "10000").ClearFormats
Sheets("raw_data").Range("A1").CurrentRegion.advancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("filter").Range("A1").CurrentRegion, CopyToRange:=Range("A8:" & 끝열주소 & "8"), Unique:=False
End Sub
Function get컬럼주소(p_colno)
get컬럼주소 = Split(Cells(, p_colno).Address, "$")(1)
End Function
Function get가로개수(p_시트명)
columnCount = Sheets(p_시트명).Range("A1").CurrentRegion.Columns.Count
get가로개수 = columnCount
End Function
위 예제는 컬럼명 주소를 필터 시트가 어떤것인지에 따라 동적으로 바꿔준다.
Sub advancedFilter(db시트명, filter시트명)
filter시트columns = Sheets(filter시트명).Range("a1").CurrentRegion.Columns.Count
filter_column_name_addr = Sheets(filter시트명).Range(Sheets(filter시트명).Cells(8, 1), Sheets(filter시트명).Cells(8, filter시트columns)).Address
Sheets(db시트명).Range("A1").CurrentRegion.advancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(filter시트명).Range("A1").CurrentRegion, CopyToRange:=Range( _
filter시트명 & "!" & filter_column_name_addr), Unique:=False
End Sub
위 예제는 컬럼 개수 세는 기능을 function으로 분리한 고급필터 예제이다.
end.
728x90
'Excel VBA > VBA 예제' 카테고리의 다른 글
Excel VBA 키워드의 카테고리 찾기 (0) | 2018.01.08 |
---|---|
Excel Vba Chart 행열 전환 하는 법 (0) | 2017.05.30 |
시트 삭제하고 특정 이름으로 추가하기 (0) | 2017.02.26 |
행 개수 자동으로 계산해서 값 넣어주는 매크로 (0) | 2017.02.13 |
excel vba dictionary (2) | 2016.06.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- vim
- 도커컨테이너
- 도커각티슈케이스
- Linux
- 도커각티슈박스
- docker container whale
- 싱가폴
- docker container case
- 도커티슈박스
- docker container tissue
- docker container tissue box
- 도커티슈케이스
- Sh
- shellscript
- docker container
- 2017 티스토리 결산
- 개발자
- 이직
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함