💻
ExcelVBAでピボットテーブルの行フィールド等にフィルタをかける
VBAで行フィルタ等にフィルタをかけるSubプロシージャ
'ピボットの任意のアイテムのみを表示する
'任意のアイテム以外を非表示にする
'引数1:シート名
'引数2:ピボットテーブル名
'引数3:フィールド名
'引数4:この値だけを表示する
Private Sub S_OnlyOneVisiblePivot(ByVal arg_filterSheetName As String, arg_filterPivotName As String, ByVal arg_filterFieldsName As String, ByVal arg_visibleItemName As String)
Dim filterSheet As Worksheet
Dim i, cntItem As Long
Set filterSheet = ActiveWorkbook.Worksheets(arg_filterSheetName)
With filterSheet.PivotTables(arg_filterPivotName).PivotFields(arg_filterFieldsName)
cntItem = .PivotItems.Count
For i = 1 To cntItem
If arg_visibleItemName <> .PivotItems(i) Then
.PivotItems(i).Visible = False
End If
Next
End With
End Sub
Discussion