Excel のピボット テーブルは、VBA でコーディングする際の頭痛の種です。
各ピボットテーブルをループしてからピボットフィールドをループし、「(空白)」である各ピボットアイテムを位置1または最後の位置に移動するVBAコードが必要です。
ご協力いただきありがとうございます!
For Each pt In ws.PivotTables
pt.RefreshTable
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.Caption = "(blank)" Then
pi.position = 1 ' <-- Error 2024, not available?
If pi.Visible = True Then
pi.Visible = False
End if
Exit For
End If
Next pi
Next pf
Next pt