VBA구문 여러 피벗Table에 동시적용시키려면...

VBA
작성자
H.B
작성일
2021-01-06 18:05
조회
33
항상 도움 감사합니다.

지난번에 오빠두님의 도움으로 피벗의 열기,닫기 버튼을 전체적으로,국소적으로 지정할 수 있게 만들었습니다만,
여러개의 복수 피벗에 동시에 적용하게 바꾸려고 하니, 어려움이 있어서요 ㅠㅠ

첨부파일에 상세 질문사항&VBA설정 걸어놨습니다만,

한번 봐주시고 도움 부탁드립니다.
(가능하시면 여러피벗에 동시에 적용할 수 있는 구문으로 변경해주시면 큰 도움되겠습니다)
전체 2

  • 2021-01-07 05:14
    채택된 답변

    안녕하세요.

    명령문을 아래와 같이 수정해보세요.

    For문 중간에 Exit Sub이 있어서, 명령문이 바로 종료되면서 복수 피벗테이블에 적용이 안 되었던 것 입니다.  아래처럼 명령문을 나눠서 작성해보세요.

    Option Explicit
    
    Sub Expand_Entire_RowField()
    Expand_Entire_RowField1
    Expand_Entire_RowField2
    End Sub
    
    Sub Collapse_Entire_RowField()
    Collapse_Entire_RowField1
    Collapse_Entire_RowField2
    End Sub
    
    Sub Expand_Entire_RowField1()
    
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim iFieldCount As Long
    Dim iPosition As Long
    
    Set pt = ActiveSheet.PivotTables("pv1")
    
    iFieldCount = pt.RowFields.Count - 1
    
    For iPosition = 1 To iFieldCount
    For Each pf In pt.RowFields
    If pf.Position = iPosition Then
    For Each pi In pf.PivotItems
    If pi.ShowDetail = False Then
    pf.ShowDetail = True
    Exit Sub
    End If
    Next pi
    End If
    Next pf
    Next iPosition
    
    Stop
    
    End Sub
    
    Sub Expand_Entire_RowField2()
    
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim iFieldCount As Long
    Dim iPosition As Long
    
    Set pt = ActiveSheet.PivotTables("pv2")
    
    iFieldCount = pt.RowFields.Count - 1
    
    For iPosition = 1 To iFieldCount
    For Each pf In pt.RowFields
    If pf.Position = iPosition Then
    For Each pi In pf.PivotItems
    If pi.ShowDetail = False Then
    pf.ShowDetail = True
    Exit Sub
    End If
    Next pi
    End If
    Next pf
    Next iPosition
    
    Stop
    
    End Sub
    
    Sub Collapse_Entire_RowField1()
    
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim iFieldCount As Long
    Dim iPosition As Long
    
    Set pt = ActiveSheet.PivotTables("pv1")
    
    iFieldCount = pt.RowFields.Count - 1
    
    For iPosition = iFieldCount To 1 Step -1
    For Each pf In pt.RowFields
    If pf.Position = iPosition Then
    For Each pi In pf.PivotItems
    If pi.ShowDetail = True Then
    pf.ShowDetail = False
    Exit Sub
    End If
    Next pi
    End If
    Next pf
    Next iPosition
    
    End Sub
    
    Sub Collapse_Entire_RowField2()
    
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    Dim iFieldCount As Long
    Dim iPosition As Long
    
    Set pt = ActiveSheet.PivotTables("pv2")
    
    iFieldCount = pt.RowFields.Count - 1
    
    For iPosition = iFieldCount To 1 Step -1
    For Each pf In pt.RowFields
    If pf.Position = iPosition Then
    For Each pi In pf.PivotItems
    If pi.ShowDetail = True Then
    pf.ShowDetail = False
    Exit Sub
    End If
    Next pi
    End If
    Next pf
    Next iPosition
    
    End Sub

    답변이 도움이 되셨길 바랍니다. 감사합니다.

    첨부파일 : 문의사항-VBA-여러피벗적용_답변.xlsm


  • 2021-01-07 09:23

    항상 정확한 도움주셔서 감사합니다!!!!


전체 2,058
번호 카테고리 제목 작성자 작성일 추천 조회
2050 VBA
New 리스트 박스 표시 형식 변경
새우튀김 | 01:08 | 추천 0 | 조회 13
새우튀김 01:08 0 13
2049 VBA
New IMPORTHHTML 함수 추가기능 vba구현
이예본 | 2021.01.15 | 추천 0 | 조회 10
이예본 2021.01.15 0 10
2048 기능/도구
New 혹시 이모지 질문입니다.
조민성 | 2021.01.15 | 추천 0 | 조회 18
조민성 2021.01.15 0 18
2047 기능/도구
New 메일머지에 사진 나오게 하는법
욕심없는성공v | 2021.01.15 | 추천 0 | 조회 28
욕심없는성공v 2021.01.15 0 28
2046 함수/공식
New 초보입니다ㅠ 호봉을 자동으로 구하고 싶어요~ (1)
eggs**** | 2021.01.15 | 추천 0 | 조회 37
eggs**** 2021.01.15 0 37
2045 함수/공식
New 년도별 금액평균을 구하고 싶어요 첨부파일 (1)
DDD | 2021.01.15 | 추천 0 | 조회 38
DDD 2021.01.15 0 38
2044 함수/공식
New 수량별 개수 곱합 후 합계금액 구하기 첨부파일 (1)
민준맘 | 2021.01.15 | 추천 0 | 조회 31
민준맘 2021.01.15 0 31
2043 VBA
New 시트 합치기는 나오는데 여러개 엑셀파일 통합은 어떻게 하나요? 첨부파일 (1)
wbyu**** | 2021.01.15 | 추천 0 | 조회 32
wbyu**** 2021.01.15 0 32
2042 피벗테이블
New 피벗 원데이터에 공백이 있을경우 (3)
H.B | 2021.01.15 | 추천 1 | 조회 36
H.B 2021.01.15 1 36
2041 기능/도구
New 인터넷 연결 및 API 오류 해결 도와주세요. 하라신 3가지 다했는데 안되네요 (1)
susu | 2021.01.15 | 추천 0 | 조회 23
susu 2021.01.15 0 23
2040 VBA
New VBA Form 실행 위치 관련 (2) 답변완료
새우튀김 | 2021.01.15 | 추천 0 | 조회 24
새우튀김 2021.01.15 0 24
2039 기능/도구
New 엑셀 셀병합시 궁금한점 질문드려요 (4)
huni0211 | 2021.01.15 | 추천 1 | 조회 42
huni0211 2021.01.15 1 42
2038 함수/공식
New 시트일별합산금액 원하는 셀에 날짜별로 표시하기 첨부파일 (5) 답변완료
민준맘 | 2021.01.14 | 추천 0 | 조회 51
민준맘 2021.01.14 0 51
2037 함수/공식
New 합계중 가장 큰 값을 구해 일련번호를 구하는 방법을 알고 싶습니다. 첨부파일 (5) 답변완료
수에이드 | 2021.01.14 | 추천 0 | 조회 30
수에이드 2021.01.14 0 30
2036 함수/공식
New 근속차월수를 기준으로 입사년월을 역계산하는 방법 첨부파일 (1)
블링블링 | 2021.01.14 | 추천 0 | 조회 22
블링블링 2021.01.14 0 22
2035 VBA
New 웹크롤링 Class 질문입니다. (3)
후훗카카 | 2021.01.14 | 추천 0 | 조회 32
후훗카카 2021.01.14 0 32
2034 함수/공식
New 순이익 파악을 할때에 어떻게 해야 할까요? (1)
박준규 | 2021.01.14 | 추천 0 | 조회 26
박준규 2021.01.14 0 26
2033 기능/도구
New 아이콘 추가 관련해서 질문합니다 첨부파일 (1) 답변완료
조민성 | 2021.01.14 | 추천 0 | 조회 22
조민성 2021.01.14 0 22
2032 함수/공식
New 조건에 맞는 항목 찾아서 정렬해주는 방법 (1)
켄타로 | 2021.01.14 | 추천 0 | 조회 36
켄타로 2021.01.14 0 36
2031 함수/공식
New 구매처 제품별 최초 구매일과 최근 구매일을 확인하는 함수를 알고 싶어요. 첨부파일 (2) 답변완료
아라 | 2021.01.14 | 추천 0 | 조회 40
아라 2021.01.14 0 40
2030 함수/공식
New 고급필터 상위 수량 최대 10개만 추출할 수 있나요? (1)
naver_5f697d4255690 | 2021.01.14 | 추천 0 | 조회 23
naver_5f697d4255690 2021.01.14 0 23
2029 VBA
New 안녕하세요. 스마트스토어 관련 자료도 크롤링 가능한가요? (1)
부자가될꾸얏 | 2021.01.14 | 추천 0 | 조회 25
부자가될꾸얏 2021.01.14 0 25
2028 기능/도구
New SendKakao 기능을 이용해서 이미지를 동시에 송출하려고 하는데... (2) 답변완료
EXCELCHOBO | 2021.01.14 | 추천 0 | 조회 33
EXCELCHOBO 2021.01.14 0 33
2027 피벗테이블
New 피벗관련 간단 질문사항 첨부파일 (2) 답변완료
H.B | 2021.01.14 | 추천 1 | 조회 31
H.B 2021.01.14 1 31
2026 함수/공식
New 문서 고유번호 매기기 (3)
왜사는건지 | 2021.01.14 | 추천 0 | 조회 36
왜사는건지 2021.01.14 0 36
2025 문서서식
New 조건부서식 동적범위 첨부파일 (2)
두부 | 2021.01.14 | 추천 0 | 조회 34
두부 2021.01.14 0 34
2024 차트/그래프
New 엑셀 실시간 주식 차트 만들기 | 엑셀차트10강 (5)
yk**** | 2021.01.14 | 추천 0 | 조회 44
yk**** 2021.01.14 0 44
2023 함수/공식
New 엑셀 수식 입력 단축키 (2)
체리빵 | 2021.01.13 | 추천 0 | 조회 51
체리빵 2021.01.13 0 51
2022 기능/도구
New 시트에 있는 도형 삭제않되게 할수 있나요? (4) 답변완료
이하늘 | 2021.01.13 | 추천 0 | 조회 26
이하늘 2021.01.13 0 26
2021 VBA
New 옵션단추에 따른 저장여부지정 첨부파일 (2) 답변완료
iviolin**** | 2021.01.13 | 추천 0 | 조회 31
iviolin**** 2021.01.13 0 31