2012-05-04 10 views
0

地域の言語形式を英語(イギリス)に設定すると、このフィルタに問題があります。英語を使用するとうまくいきます。 私の問題は、フィルターが5月30日の選択を不可視にしていないことです。その呼び出しで失敗し、エラーセクションに移動します。フィルタExcelのピボット

http://wikisend.com/download/138750/Pivottable.xls

これは既知のバグですか? http://support.microsoft.com/default.aspx?scid=kb;en-us;114822&Product=xlw

それはFilter pivottable in Excel 2003

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 
(UK設定で)Excel 2003で実証済み
+0

どのような問題がありますか? – mischab1

+0

申し訳ありませんが、より良い説明が追加されて不明でした – Damian

答えて

1

を投稿するまねた日付は右のスナップショットに示すように、日付フィールドをクリックすると、クリックフィルタField Settingsを入力し、Numberをクリックします。図のように日付形式を設定します。今度は同じコードを試してみてください。

enter image description here

+0

申し訳ありませんが、ごめんなさい! Excel 2007とWindows 7を使用しています。 – Damian

+0

Ummm私はあなたがExcel 2003を使っていたという印象を受けました... –