45회 엑셀 고급필터 자동화 매크로 + 실전예제 관련 코딩 질문
안녕하세요
Sub 고급필터()
RemoveChrs Sheet2.Range("B11:S11"), " ▲, ▼"
Sheet1.Range("A1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheet2.Range("B7").CurrentRegion, _
CopyToRange:=Sheet2.Range("B11").CurrentRegion.Rows(1), _
Unique:=False
End Sub
Sub 초기화()
Dim r As Range
Application.ScreenUpdating = False
Set r = Selection
Sheet2.Range("초기화범위").Select
Selection.ClearContents
ClearContentsBelow Sheet2.Range("B12")
r.Select
Application.ScreenUpdating = True
End Sub
Sub ClearContentsBelow(startRng As Range, Optional ColNo, Optional BaseCol As Long = 0)
Dim WS As Worksheet: Dim lastRow As Long: Set WS = startRng.Parent
If IsMissing(ColNo) Then ColNo = WS.Cells(startRng.Row, WS.Columns.Count).End(xlToLeft).Column
If Not IsNumeric(ColNo) Then ColNo = Range(ColNo & 1).Column
If BaseCol = 0 Then BaseCol = startRng.Column Else BaseCol = startRng.Column + BaseCol - 1
lastRow = WS.Cells(WS.Rows.Count, BaseCol).End(xlUp).Row
If lastRow < startRng.Row Then Exit Sub
WS.Range(startRng, WS.Cells(lastRow, ColNo)).ClearContents
End Sub
Sub SortToClick(Rng As Range)
If Rng.Rows.Count = Rng.Parent.Rows.Count Then Exit Sub
Dim r As Range: Dim rh As Range: Dim Rs As Range
Set r = Rng.CurrentRegion
Set rh = Cells(r.Row, Rng.Column)
If Not (Right(rh.Value, 2) = " ▼" Or Right(rh.Value, 2) = " ▲") Then
r.Sort Rng, xlAscending, Header:=xlYes
rh.Value = rh.Value & " ▲"
Else
If Right(rh.Value, 2) = " ▲" Then
r.Sort Rng, xlDescending, Header:=xlYes
rh.Value = Replace(rh.Value, " ▲", " ▼")
Else
r.Sort Rng, xlAscending, Header:=xlYes
rh.Value = Replace(rh.Value, " ▼", " ▲")
End If
End If
For Each Rs In r.Rows(1).Cells
If (Right(Rs.Value, 2) = " ▼" Or Right(Rs.Value, 2) = " ▲") And Rs.Column <> Rng.Column Then
Rs.Value = Left(Rs.Value, Len(Rs.Value) - 2)
End If
Next
End Sub
Sub RemoveChrs(Rng As Range, Chrs As String)
Dim r As Range
Dim va As Variant: Dim v As Variant
va = Split(Chrs, ",")
For Each r In Rng
For Each v In va
If InStr(r.Value, v) > 0 Then r.Value = Replace(r.Value, v, "")
Next
Next
End Sub
-----------------Sheet2 코드
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B11:S11")) Is Nothing Then
SortToClick Target
End If
End Sub
문제가 되었던 코드를 삭제해도 데이터가 돌아오지 않네요.
띄어쓰기 같은 자잘한 문제, 데이터 복사 붙여넣기도 해보았구요
엑린이가 할 수 있는 사항 다 해본거같은데 뭐가 문제인지 알려주실수 있을까요?
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[🔥선착순 판매] 2023년 엑셀 공부, "8시간 로드맵"으로 마스터하세요! (6)
![]() ![]() |
![]() ![]() |
2023.01.25 | 6 | 2770 | ||
공지사항 | 공지사항 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(123)
오빠두엑셀
|
2021.10.28
|
추천 159
|
조회 9724
|
![]() ![]() |
2021.10.28 | 159 | 9724 |
48515 | 함수/공식 |
New TEXTJOIN 함수 질문 드리고자 합니다.
![]() |
![]() |
22:45 | - | 9 |
48513 | 피벗테이블 |
New 피벗테이블에서 데이터 더블클릭하면 만들어지는 시트 관련 문의입니다
![]() ![]() ![]() |
![]() |
22:41 | - | 10 |
48507 | VBA |
New "바꾸기" 에서 공백처리 부탁드립니다.
![]() ![]() |
![]() |
22:18 | - | 11 |
48500 | 기능/도구 |
New 여러 시트 종합 + 추가 기능 질문드려요 ㅠㅠ
![]() ![]() |
![]() |
21:32 | - | 16 |
48492 | 함수/공식 |
New 다중 조건을 만족하는 모든 값들을 찾아서 한 셀에 입력되게 하고싶습니다. 도움 부탁드려요
![]() ![]() ![]() |
![]() |
20:37 | - | 21 |
48490 | VBA |
New VBAProject 삭제
![]() ![]() |
![]() |
19:07 | - | 19 |
48487 | 함수/공식 |
New sumifs 함수가 걸린 시트의 오름차,내림차순 정렬 시 정렬 실패
![]() ![]() ![]() |
![]() |
18:14 | - | 28 |
48486 | 함수/공식 |
New 48432번 글쓴이 입니다. 해결을 못하고 다시 도움을 요청 드리네요....
![]() ![]() |
![]() |
18:12 | - | 22 |
48480 | 차트/그래프 |
New 내용없는 차트 레이블 숨김
![]() ![]() |
![]() |
16:42 | - | 27 |
48478 | 함수/공식 |
New 근무시간 급여계산
![]() ![]() |
![]() |
16:21 | - | 36 |
48475 | 함수/공식 |
New 근태내역 이용한 급여입력
![]() ![]() ![]() |
![]() |
16:01 | - | 29 |
48473 | 함수/공식 |
New 엑셀초보ㅜㅜ 등급표 작성관련 도움 부탁드립니다!
![]() ![]() ![]() |
![]() |
15:48 | - | 26 |
48468 | 함수/공식 |
New 엑셀 데이터 정렬 관련 질문드립니다.
![]() ![]() ![]() |
![]() |
14:55 | - | 33 |
48467 | 함수/공식 |
New 함수 걸린 셀이 업데이트가 안됩니다 ㅜㅜ
(2)
답변완료
![]() |
![]() |
14:50 | - | 19 |
48466 | 함수/공식 |
New 품번, 일련번호 생성 관련 질문입니다!
![]() ![]() |
![]() |
14:48 | - | 35 |
48456 | 함수/공식 |
New 여러개의 특정 기준 문자를 기준으로 특정 문자가 포함된 행의 합계값 구하는 문제 관련
![]() ![]() ![]() |
![]() |
14:05 | - | 39 |
48453 | VBA |
New 피벗 슬라이서 항목 변경 시 모두새로고침 한번만 실행 매크로
(2)
답변완료
![]() |
![]() |
13:48 | - | 21 |
48450 | 함수/공식 |
New 다중 그룹에서의 중복없는 순위 매기기
![]() ![]() |
![]() |
11:37 | - | 33 |
48448 | 파워쿼리/피벗 |
New 파워쿼리 '외부 데이터 연결을 사용할 수 없습니다' 오류
![]() |
![]() |
11:23 | - | 22 |
48433 | VBA |
New [매크로]중복 고유값 삭제할때 값이 없는 데이터 삭제
![]() ![]() ![]() |
![]() |
01:00 | - | 43 |
48432 | 함수/공식 |
New 근무 시간 중 특정 시간대에 할당된 값을 가져오고 싶습니다.
![]() ![]() |
![]() |
00:16 | - | 54 |
48430 | 함수/공식 |
New 원하는 시간대별 최저,최고온도 구하는 수식
![]() ![]() |
![]() |
2023.01.29 | - | 36 |
48419 | 함수/공식 |
New 중복된 항목에 대한 합계 수식 중 마지막 것을 알수있을까요?( 통합 x 중복된항목제거 x)
![]() ![]() |
![]() |
2023.01.29 | - | 36 |
48417 | 함수/공식 |
New 텍스트 결합 문의 및 데이터 표로 만들기 문의
![]() ![]() ![]() |
![]() |
2023.01.29 | - | 51 |
48414 | 함수/공식 |
New 세로순서 검색 방법문의
![]() ![]() |
![]() |
2023.01.29 | - | 43 |
48395 | 피벗테이블 |
New 누적 데이터를 피벗 테이블로 표시할 때 그 피봇 테이블 자체에 함수를 적용 할 수 있나요??
![]() |
![]() |
2023.01.29 | - | 43 |
48388 | VBA |
New 특정한 폴더의 특정셀값만 불러올 수 있을까요?
![]() ![]() |
![]() |
2023.01.29 | - | 51 |
48379 | 함수/공식 |
New 같은 수식으로 여러 시트에 있는 자료를 VLOOKUP으로 끌고 올 수 있을까요?
![]() ![]() |
![]() |
2023.01.28 | - | 51 |
48367 | 피벗테이블 |
New 피벗테이블 새로고침시 행높이 자동바뀜 현상 질문드립니다.
![]() ![]() ![]() |
![]() |
2023.01.28 | - | 38 |
48354 | 함수/공식 |
New 붙여 넣기 또는 자동채우기 작업 중 리소스 부족 에러
![]() |
![]() |
2023.01.28 | - | 29 |