0

地域の言語形式を英語 (英国) に設定すると、このフィルターで問題が発生します。英語 (米国) を使用するとうまく機能します。私の問題は、フィルターが 5 月 30 日の選択を非表示にしないことです。その呼び出しで失敗し、エラー セクションに移動します。

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

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

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
4

1 に答える 1

1

EXCEL 2003 で試行およびテスト済み (英国設定)

スナップショットに示されているように日付フィールドを右クリックし、 をクリックしてField Settingsから をクリックしNumberます。示されているように日付形式を設定します。次に、同じコードを試してください。

ここに画像の説明を入力

于 2012-05-06T10:52:29.457 に答える