💻

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

2022/04/29に公開

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

'任意のアイテムを非表示にする
'ある文字列を含むものだけ非表示
'引数1:シート名
'引数2:ピボットテーブル名
'引数3:フィールド名
'引数4:この文字列を含む値だけを非表示にする
Private Sub S_OnlyKeyWordNonVisiblePivot(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/dfa88032edf8a2

Discussion