1줄 요약 :
ActiveSheet.Range("A1").AutoFilter Field:=1
자동필터에서 특정 열에 모든 값들을 체크하고 내가 원하는 값들만 해제하는 코드가 필요했다. 이거는 실무에서 쓸 일이 많을 것같고 예전에 쓴 적도 있었는데, 방법이 그냥 순환문을 이용해서 항목을 전부 다 체크하는거였다. 100개가 넘는 경우에는 시간이 좀 걸렸다. 몇 분까지는 아니지만 몇 초 소요됐음.
뭐 좋은 방법없나하고 인터넷에 열심히 쳤는데도 답이없었는데 stackoverflow에 있었다
심지어 코드가 진짜 단순하고 짧아서 좀 허망했다
https://stackoverflow.com/questions/32081192/excel-vba-filter-select-all
This is easier than you think. Just don't include the "criteria" You have
ActiveSheet.Range("$A$1:$E$150").AutoFilter Field:=1, Criteria1:=Array( _
Shorten this to
ActiveSheet.Range("$A$1:$E$150").AutoFilter Field:=1
Even shorter is
ActiveSheet.Range("A1").AutoFilter Field:=1
내가 1열에 한 3개 항목을 체크해제 해놓은 뒤 저 명령문을 실행하면 전부 다 체크한다.
내가 원하는 항목만 체크해제하려면 그냥 저렇게 전부 체크하고 원하지 않는것만 visible=false 하면 될 듯
'엑셀 > 엑셀 VBA' 카테고리의 다른 글
VBE 설정 (폰트, 바탕화면) (0) | 2024.04.02 |
---|---|
매크로 : Find함수의 매개변수 after와 FindNext함수 차이 (0) | 2024.03.28 |
매크로 : 피벗테이블 필터에서 원하는것만 안나오게 하기(체크풀기) (1) | 2024.03.21 |
달성률 계산하기 (목표 or 실적이 음수일때) + 감소목표달성률 (1) | 2022.11.08 |
column에서 같은 cell끼리 병합시키기(merge) (0) | 2022.11.07 |