💻

ExcelVBAで「特定の文字列」を含む値がピボットテーブル内にあるか確認する

2022/04/28に公開

ピボットテーブル内にある文字列を含む値が存在するか確認するFunctionプロシージャ

'keyWordを含むItemの存在を確認する。戻り値Boolean
'引数1:シート名
'引数2:ピボットテーブル名
'引数3:フィールド名
'引数4:keyWord
Private Function F_SearchKeyWordPivot(ByVal arg_searchSheetName As String, arg_searchPivotName As String, ByVal arg_searchFieldsName As String, ByVal arg_keyWord As String)
    
    Dim searchSheet As Worksheet
    Dim i, cntItem As Long
    Dim hasKeyWord As Integer
    Set searchSheet = ActiveWorkbook.Worksheets(arg_searchSheetName)
    
    With searchSheet.PivotTables(arg_searchPivotName).PivotFields(arg_searchFieldsName)
        cntItem = .PivotItems.Count
        For i = 1 To cntItem
            hasKeyWord = InStr(.PivotItems(i), arg_keyWord)
            If hasKeyWord <> 0 Then
                F_SearchKeyWordPivot = True
                Exit Function
            End If
        Next
    End With
    
    F_SearchKeyWordPivot = False
    
End Function

Discussion