VBA使用单元格值定义透视表过滤器-时间

VBA使用单元格值定义透视表过滤器-时间,vba,pivot-table,Vba,Pivot Table,每当我更新控制框中的数据时,我尝试使用vba来定义透视表平铺日期范围 然而,它只有在我把12:00放在控制盒中时才起作用,其他任何时候都不起作用 有人知道为什么吗?是否因为正在定义的数据类型?我尝试了string/string/single/double,甚至尝试了转换控制框中的数据类型或更改数据源中的数据类型,但这些似乎都不起作用。有什么帮助吗 先谢谢你 Dim UpperTime As Date Dim LowerTime As Date Dim KeyCells As Range Se

每当我更新控制框中的数据时,我尝试使用vba来定义透视表平铺日期范围

然而,它只有在我把12:00放在控制盒中时才起作用,其他任何时候都不起作用

有人知道为什么吗?是否因为正在定义的数据类型?我尝试了string/string/single/double,甚至尝试了转换控制框中的数据类型或更改数据源中的数据类型,但这些似乎都不起作用。有什么帮助吗

先谢谢你

Dim UpperTime As Date
Dim LowerTime As Date
Dim KeyCells As Range
Set KeyCells = Range("A1:C5")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
       Is Nothing Then
       UpperTime = Range("C4").ValueLowerTime = Range("C5").Value
ActiveSheet.PivotTables(1).PivotFields("Sched Start Time"). _ClearLabelFilters
ActiveSheet.PivotTables(1).PivotFields("Sched Start Time"). _
PivotFilters.Add2 Type:=xlCaptionIsBetween, Value1:=UpperTime, Value2:=LowerTime

我在约会上也遇到过类似的问题。您是否尝试过
Value1:=CLng(上限时间),Value2:=CLng(下限时间)
,(或其他类型转换?)我在日期方面也遇到过类似的问题。您是否尝试过
Value1:=CLng(上限时间),Value2:=CLng(下限时间)
,(或其他类型转换?)