如何在Excel VBA中的筛选器中选择多个日期

时间:2018-01-17 09:36:59

标签: excel vba excel-vba excel-2010 pivot-table

我有一个数据透视表,其中包含一年中所有365天(在行标签中)。我需要在过滤器上选择一些日期,但需要连续日期。 我将在单元格A10中的Sheet1上手动输入日期。然后,透视过滤器必须始终从1月1日到我输入的日期选择。

有时,如果日期不可用,则必须选择上一个可用日期。然后它必须为我输入的日期选择两个相邻的单元格值。我使用下面的代码但不起作用。

数据透视表中的inbulit Date fitler的问题是,它只能工作1年。所以只有我需要VBA。帮我更新。

enter image description here

Sub selectdate()
Dim ws1, ws2 As Worksheet
Dim dat1 As Date
Dim Data As Variant

Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")
dat1 = Sheet1.Range("A10").Value

Dim pi As PivotItem
ws2.PivotTables("MainTable").PivotFields("Date").ClearAllFilters
For Each pi In ws2.PivotTables("MainTable").PivotFields("Date").PivotItems
    If Not IsError(Application.Match(pi.Name, dat1, 0)) Then
            pi.Visible = True
        Else
            pi.Visible = False
        End If
    Next pi
End If
End Sub

0 个答案:

没有答案