2020年11月30日月曜日

vba pivotitemクラスのvisibleプロパティを設定できません

 vbaで「pivotitemクラスのvisibleプロパティを設定できません。」というエラーが出た。 原因は、ピボットのフィルターに古いアイテムが残るためだ。 
 対処は、[ピボットテーブル オプション] ダイアログ ボックスの [データ] タブの [データ ソースから削除されたアイテムの保持] の [1 フィールドに保持するアイテム数] で [なし] を選択して、[OK] をクリックする。そして、ピボットを更新すればよい。 もしくは、以下のようなvbaを書く。
Dim pvotItem As PivotItem
    Worksheets("WorksheetNameA").PivotTables("pivottable1").PivotCache.MissingItemsLimit = xlMissingItemsNone
    Worksheets("WorksheetNameA").PivotTables("pivottable1").PivotCache.Refresh
    For Each pivotItem In WorkSheets("WorksheetNameA").PivotTables("pivottable1").PivotFields("fieldA").PivotItems
        If pvotItem like "key" then
            povotItem.visible = True
        else
            pvotItem.visible = False
        End If
    Next

0 件のコメント:

コメントを投稿