💻

ExcelVBAでピボットテーブル内に特定の値があるか確認する

2022/04/28に公開

ピボットテーブル内に特定の値が存在するか確認するFunctionプロシージャ

'Itemの存在を確認する。戻り値Boolean
'引数1:シート名
'引数2:ピボットテーブル名
'引数3:フィールド名
'引数4:検索するアイテム名
Private Function F_SearchFieldsItem(ByVal arg_searchSheetName As String, arg_searchPivotName As String, ByVal arg_searchFieldsName As String, ByVal arg_searchItemName As String)
    
    Dim searchSheet As Worksheet
    Set searchSheet = ActiveWorkbook.Worksheets(arg_searchSheetName)

    Dim i, cntItems As Integer
    
    With searchSheet.PivotTables(arg_searchPivotName).PivotFields(arg_searchFieldsName)
        cntItems = .PivotItems.Count
        For i = 1 To cntItems
            If arg_searchItemName = .PivotItems(i) Then
                F_SearchFieldsItem = True
                Exit Function
            End If
        Next
    End With
    
    F_SearchFieldsItem = False

End Function

Discussion