我曾嘗試從互聯網永遠複製和粘貼解決方案,現在嘗試使用VBA在Excel中過濾數據透視表。下面的代碼不起作用。使用VBA過濾Excel數據透視表
Sub FilterPivotTable()
Application.ScreenUpdating = False
ActiveSheet.PivotTables("PivotTable2").ManualUpdate = True
ActiveSheet.PivotTables("PivotTable2").PivotFields("SavedFamilyCode").CurrentPage = "K123223"
ActiveSheet.PivotTables("PivotTable2").ManualUpdate = False
Application.ScreenUpdating = True
End Sub
我想過濾所以我看到所有具有SavedFamilyCode K123223的行。我不想在數據透視表中看到任何其他行。無論以前的過濾器如何,我都希望這可以工作。我希望你能幫助我。謝謝!根據您的文章
我想:
Sub FilterPivotField()
Dim Field As PivotField
Field = ActiveSheet.PivotTables("PivotTable2").PivotFields("SavedFamilyCode")
Value = Range("$A$2")
Application.ScreenUpdating = False
With Field
If .Orientation = xlPageField Then
.CurrentPage = Value
ElseIf .Orientation = xlRowField Or .Orientation = xlColumnField Then
Dim i As Long
On Error Resume Next ' Needed to avoid getting errors when manipulating fields that were deleted from the data source.
' Set first item to Visible to avoid getting no visible items while working
.PivotItems(1).Visible = True
For i = 2 To Field.PivotItems.Count
If .PivotItems(i).Name = Value Then _
.PivotItems(i).Visible = True Else _
.PivotItems(i).Visible = False
Next i
If .PivotItems(1).Name = Value Then _
.PivotItems(1).Visible = True Else _
.PivotItems(1).Visible = False
End If
End With
Application.ScreenUpdating = True
End Sub
不幸的是我得到運行時錯誤91:對象沒有設置變量或With塊變量。是什麼導致了這個錯誤?
您是否嘗試錄製宏? –
我相處 子FilterPivotTable() 線的東西隨着ActiveSheet.PivotTables( 「PivotTable2」)。透視字段( 「SavedFamilyCode」) .PivotItems( 「K010」)。可見=真 .PivotItems( 「K012」 )。可見=假 尾隨着 結束小組 但我想所有除K010成爲無形 宏錄製忽略我的選擇/取消所有點擊 – user1283776