【发布时间】:2019-01-09 09:47:15
【问题描述】:
我有一个数据透视表,其中列出了在某个日期范围内售出的库存商品数量。开始日期和开始日期存储在单元格中,以便用户可以修改它们。
我编写了引用这些单元格的代码并尝试过滤工作表上的数据透视表。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ActiveSheet.Range("E3").Address Then
ActiveSheet.PivotTables("ItemsSold").RefreshTable
ElseIf Target.Address = ActiveSheet.Range("I3").Address Then
ActiveSheet.PivotTables("ItemsSold").RefreshTable
End If
ActiveSheet.PivotTables("ItemsSold").PivotFields("Date Sold ").PivotFilters.Add _
Type:=xlDateBetween, _
Value1:=CLng(Range("E3").value), _
Value2:=CLng(Range("I3").value)
End Sub
我明白了
“运行时错误 1004:应用程序定义的或对象定义的错误”。
刷新表正常工作,但过滤它不是。
另一个复杂情况:如果表格中不存在其中一个日期(例如,日期从:),这会起作用吗?例如,如果我想在 1 月 1 日和今天之间进行过滤,但数据表中没有 1 月的日期,那么这段代码是否仍然可以正常执行?
【问题讨论】:
-
能否请您也显示数据透视表源范围标题?
标签: excel vba pivot-table