💻

ExcelVBAでピボットテーブルの「特定の文字列」を含む値だけを表示する

2022/04/28に公開

VBAで「特定の文字列」を含む値だけを表示するSubプロシージャ

'任意のアイテム以外を非表示にする
'ある文字列を含むものだけ表示
'引数1:シート名
'引数2:ピボットテーブル名
'引数3:フィールド名
'引数4:この文字列を含む値だけを表示する

Private Sub S_OnlyKeyWordVisiblePivot(ByVal arg_filterSheetName As String, arg_filterPivotName As String, ByVal arg_filterFieldsName As String, ByVal arg_keyWord As String)
    
    Dim filterSheet As Worksheet
    Dim i, cntItem As Long
    Dim isVisible As Integer
    Set filterSheet = ActiveWorkbook.Worksheets(arg_filterSheetName)
    
    With filterSheet.PivotTables(arg_filterPivotName).PivotFields(arg_filterFieldsName)
        cntItem = .PivotItems.Count
        For i = 1 To cntItem
            isVisible = InStr(.PivotItems(i), arg_keyWord)
            If isVisible = 0 Then
                .PivotItems(i).Visible = False
            End If
        Next
    End With
    
End Sub

VBAで「特定の文字列」を含む値だけを非表示にする場合はこっち

https://zenn.dev/webdebris/articles/01e6af3b4ea011

Discussion