いくつかのピボット フィールドがあり、いくつかの条件でフィールドのピボット項目をマークしたいと考えています。私は使用してみました.visible
が、これも使用application.screenupdating
しapplication.displayfilters
ました。ただし、ピボットアイテムを選択または削除することはできません。それぞれの返信に本当に感謝します。
Filter_PivotField_by_Date_Range
. これは、フィールド名と比較したい日付を指定するためだけにメインで呼び出している関数です。2 if 条件の後、フィールド内のピボット項目をマーク (選択/ティックマーク) し、それ以外の場合はマークを外したり、他のものを選択したりしません。もう一方を非表示にしてから、Sub を終了します。
ご不明な点がございましたら、お気軽にお問い合わせください。コメントやコードをいただければ幸いです。
Sub Filter_PivotField_by_Date_Range(pvtField As PivotField, it1 As Date, it2 As Date)
Dim bTemp As Boolean, i As Long
Dim dtTemp As Date, dtTemp1 As Date
dtTemp = Format(CDate(it1), "dd/mm/yyyy")
dtTemp1 = Format(CDate(it2), "dd/mm/yyyy")
On Error Resume Next
With pvtField
For i = 1 To .PivotItems.Count
dtFrom = .PivotItems(i)
If (dtTemp <= dtFrom) Then
If (dtTemp1 >= dtFrom) Then
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
.PivotItems(i).Visible = True
MsgBox (dtFrom)
Else
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
End If
End If
Next i
End With
End Sub