Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在透视表中选中今天和取消选中前一天_Excel_Vba - Fatal编程技术网

Excel 如何在透视表中选中今天和取消选中前一天

Excel 如何在透视表中选中今天和取消选中前一天,excel,vba,Excel,Vba,我需要检查今天的日期,并使用VBA(不包括Sat和Sun)取消选中透视表中的最后一个可用日期 我在VBA中没有工作,所以我尝试录制宏并做了一些更改 数据透视表可能不同,传递的一些变量具有要检查和取消检查的日期 工作表(“图表”)。数据透视表(“数据透视表8”)。数据透视缓存。刷新 ActiveWorkbook.RefreshAll 使用ActiveSheet.PivotTables(“数据透视表8”).PivotFields(“添加日期”) .PivotItems(“$inbound\u pre

我需要检查今天的日期,并使用VBA(不包括Sat和Sun)取消选中透视表中的最后一个可用日期

我在VBA中没有工作,所以我尝试录制宏并做了一些更改 数据透视表可能不同,传递的一些变量具有要检查和取消检查的日期

工作表(“图表”)。数据透视表(“数据透视表8”)。数据透视缓存。刷新
ActiveWorkbook.RefreshAll
使用ActiveSheet.PivotTables(“数据透视表8”).PivotFields(“添加日期”)
.PivotItems(“$inbound\u previousday$”)。可见=假
.PivotItems(“$today$”).Visible=True
工作表(“B图表”)。数据透视表(“数据透视表8”)。数据透视缓存。刷新
ActiveWorkbook.RefreshAll
使用ActiveSheet.PivotTables(“数据透视表8”).PivotFields(“添加日期”)
.PivotItems(“$outbound\u Previousday”)。可见=假
.PivotItems(“$today$”).Visible=True
以
以
是否有任何可能的方法来检查今天的日期并取消选中下拉列表中第一个最可用的日期

试试这个:

    Sub FilterDays()

    Dim NumDaysSelected As Long
    Dim StartDate, EndDate As Date
    Dim pt As PivotTable

    NumDaysSelected = 27 'Change this number to select the amount of days selected
    StartDate = Date - NumDaysSelected
    EndDate = Date

    Set pt = ActiveSheet.PivotTables("PivotTable8")
        pt.PivotFields("Added Date").ClearAllFilters 'This line is needed to clear existing filter before applying new one
        pt.PivotFields("Added Date").PivotFilters.Add Type:=xlDateBetween, _
            Value1:=StartDate, Value2:=EndDate

    End Sub
试试这个:

    Sub FilterDays()

    Dim NumDaysSelected As Long
    Dim StartDate, EndDate As Date
    Dim pt As PivotTable

    NumDaysSelected = 27 'Change this number to select the amount of days selected
    StartDate = Date - NumDaysSelected
    EndDate = Date

    Set pt = ActiveSheet.PivotTables("PivotTable8")
        pt.PivotFields("Added Date").ClearAllFilters 'This line is needed to clear existing filter before applying new one
        pt.PivotFields("Added Date").PivotFilters.Add Type:=xlDateBetween, _
            Value1:=StartDate, Value2:=EndDate

    End Sub

因为您的值是常量,所以这是最简单的<代码>日期今天返回

With Sheets("A Chart").PivotTables("PivotTable8").PivotFields("Added Date")
    .PivotItems(Date - 27).Visible = False
    .PivotItems(Date).Visible = True
End With

因为您的值是常量,所以这是最简单的<代码>日期今天返回

With Sheets("A Chart").PivotTables("PivotTable8").PivotFields("Added Date")
    .PivotItems(Date - 27).Visible = False
    .PivotItems(Date).Visible = True
End With

在您的示例中,添加日期和删除日期之间有27天。总是27天吗?另外,“今天”的日期实际上总是今天,还是以其他方式确定的?是的,这些都是常量值。在您的示例中,添加日期和删除日期之间有27天。总是27天吗?另外,“今天的”日期实际上总是今天,还是以其他方式确定的?是的,这些都是常量值。当我在excel上使用上述cod时,会出现错误“无法获取pivot字段类的pivot items属性”-pivotfeild是“Addedate”,只有最后一条建议,如何从代码中排除sat和Sunday当您说排除时,您的意思是希望在筛选器中也不检查它们吗?当我在excel上使用上述cod运行时,会出现错误“无法获取pivot字段类的pivot items属性”-pivotfeild是“Addedate”,只有最后一个建议,如何从代码中排除星期六和星期日当您说排除时,您的意思是希望它们也在筛选器中取消选中吗?上面是选择每个可用日期,然后返回到开始的位置。i、 例如,日期与以前相同。您是否有其他代码混合在其中?
.ClearFilters
将使其成为选中的所有内容,
.PivotFilters.Add
将使用值1和值2将其筛选到所需的范围。上面选择的是每个可用的日期,然后返回开始位置。i、 例如,日期与以前相同。您是否有其他代码混合在其中?
.ClearFilters
将使其成为选中状态,
.PivotFilters.Add
将使用值1和值2将其过滤到所需的范围