2012-01-27 11 views
1

VBAを使用してExcel 2003でピボットテーブルをフィルタリングするにはどうすればよいですか?Excel 2003でピボット可能なフィルタ

は、Excel 2007では、私はこのマクロを実行することができますが、Pivo​​tFiltersは

Dim ws As Worksheet: Set ws = Sheets("Sheet1") 
ws.PivotTables("PivotTable1").PivotFields("Date").PivotFilters.Add _ 
     Type:=xlSpecificDate, Value1:="26/01/2012" 

更新XL 2003に実装されていません:私は、エラー「実行時エラー「1004" を取得 。 PivotItemクラスのVisibleプロパティを設定できません。ワークシート

として

サブフィルター() 薄暗いPvtItem PivotItem 点心としてWS

Set ws = Sheets("pivot") 

'~~> Show All 
For Each PvtItem In ws.PivotTables("PivotTable1").PivotFields("Date").PivotItems 
    PvtItem.Visible = True 
Next 

'~~> Show Only the relevant 
For Each PvtItem In ws.PivotTables("PivotTable1").PivotFields("Date").PivotItems 
    If PvtItem.Value <> "26/01/2012" Then PvtItem.Visible = False '<-- error here 
Next 

End Subの

http://wikisend.com/download/426518/pivot.xls

答えて

1

VBA 2003年にPivotFieldをフィルタリングするには、あなたが/解除を設定する必要があります.Visibleプロパティ。 「VisibleプロパティPivotItemクラスを設定することができません」 既知のバグのようです、私はマイクロソフトのサポートエンジニアを使用しています:ここで私はエラーを取得する例

Option Explicit 

Sub Filter() 
    Dim PvtItem As PivotItem 
    Dim ws As Worksheet 

    On Error GoTo Whoa1 

    Set ws = Sheets("pivot") 

    '~~> Show All 
    For Each PvtItem In ws.PivotTables("PivotTable1").PivotFields("Date").PivotItems 
     PvtItem.Visible = True 
    Next 

    On Error GoTo Whoa2 '<~~ If no match found in Pivot 

    '~~> Show Only the relevant 
    For Each PvtItem In ws.PivotTables("PivotTable1").PivotFields("Date").PivotItems 
     If Format(PvtItem.Value, "DD/MM/YYYY") <> Format(Range("today"), "DD/MM/YYYY") Then 
      PvtItem.Visible = False 
     End If 
    Next 

    Exit Sub 
Whoa1: 
    MsgBox Err.Description 
    Exit Sub 
Whoa2: 
    '~~> Show All 
    For Each PvtItem In ws.PivotTables("PivotTable1").PivotFields("Date").PivotItems 
     PvtItem.Visible = True 
    Next 
End Sub 
+0

です。私はあなたに私が解決策を持っていることを知らせます。 http://social.msdn.microsoft.com/Forums/en/isvvba/thread/01fca3d7-944e-4fb6-bf9b-0e7892b0234c – Damian

+0

申し訳ありませんがわかりません。何が言及している "バグ"とは何ですか? –

+0

ソート順を手動に設定しようとしましたが、外科手術のような向きに設定しましたが、役に立たないのです – Damian

関連する問題