나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     test(9)_Ans.xlsm (30.6KB) 조회:  1889
제목:   [RE]피벗테이블 날짜 자동 선택가능하나요?
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2019

* 아래줄에 질문을 작성하세요 >>

피벗테이블로 정렬후,
어떠한 쉘에 May 2019입력하면,
한쉘에 피벗테이블이 3개정도 있을경우,
피벗테이블 모두 같은 날짜로 2019 5월달만 자동으로 선택되게 가능하나요?

==============[한석희님 글에 대한 답변입니다]==============

VBA의 Worksheet_Change 이벤트를 이용하였습니다.
첨부파일 참조하세요....

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Me.Range("A1").Address Then
        If IsDate(Target) Then
            Application.EnableEvents = False
            Call ChangePivotItem(Target.Cells(1))
            Application.EnableEvents = True
        Else
            Target.Select
            MsgBox "날짜 형식으로 입력하세요.", vbCritical
        End If
    End If
End Sub

Sub ChangePivotItem(datX As Date)
    Dim pvt As PivotTable
    Dim pvtFld As PivotField, pvtItm As PivotItem
    Dim iCount As Integer
    
    
    For Each pvt In ActiveSheet.PivotTables
        'Debug.Print pvt.Name
        pvt.PivotCache.Refresh
        
        Set pvtFld = pvt.PivotFields("Date Issued")
        pvtFld.ClearAllFilters
        pvtFld.EnableMultiplePageItems = True
        
        iCount = 0
        For Each pvtItm In pvtFld.PivotItems
            'Debug.Print pvtItm
            If Month(datX) = Month(pvtItm) Then
                iCount = iCount + 1
            Else
                If iCount = 0 And pvtFld.PivotItems(pvtFld.PivotItems.Count) = pvtItm Then
                Else
                    pvtItm.Visible = False
                End If
            End If
        Next
        If iCount < 1 Then
            'MsgBox Month(datX) & "월의 Item이 없습니다. 따라서 모두 선택합니다."
            MsgBox "피봇테이블[" & pvt.Name & "]의 피봇필드[" & pvtFld & "]항목중에 " & Month(datX) & "월에 해당하는 항목이 없습니다. 따라서 모두 선택합니다."
            pvtFld.ClearAllFilters
        End If
    Next
End Sub
 
[불량 게시물 신고]  
한석희이제야 확인하네요.
dew님 너무 너무 감사 드립니다~~
06-28 (14:02)
삭제 ■신고
        
  

작성일 : 2019-06-14(15:25)
최종수정일 : 2019-06-14(15:25)
 


 ◎ 관련글

  제 목   작성자   날짜
피벗테이블 날짜 자동 선택가능하나요? 한석희 2019-06-14
[RE]피벗테이블 날짜 자동 선택가능하나요? dew 2019-06-14