数据透视表上的Excel VBA筛选

时间:2019-02-01 19:37:19

标签: excel vba

我收到运行时错误438。对象不支持此属性或方法

我一直在使用Activesheet来处理With语句。 xDate显示正确的日期,而我将其显示为True。

Sub PivotFilter()

Dim wb As Workbook
Dim ws As Worksheet
Dim xDay As String
Dim xDate As Date

Set wb = ThisWorkbook
Set ws = wb.Worksheets("Previous Day Open Pos")

xDate = DateAdd("d", -1, Date)


ThisWorkbook.Sheets("Previous Day Open POs").pivottables("PivotTable1").PivotFields("PO Creation Date"). _
        CurrentPage = "(All)"
    With ws.pivottables("PivotTable1").PivotFields("PO Creation Date").PivotItem(xDate).Visible = True




xDay = format(Date, "dddd")

If xDay = "Monday" Then
    xDate = Date - 3
Else
    xDate = Date - 1
End If


End With


End Sub

我希望数据透视表单击上一个工作日期。

1 个答案:

答案 0 :(得分:0)

“ With”语句用于指定对象,而不是像您所拥有的那样执行设置更改。另外,您可能需要在使用xDate切换逻辑之前对其进行更改。

RewriteEngine on
RewriteRule ^/?category/uncategorized/ https://www.example.com/category/alcohol-drug-rehab/ [R=301,QSD]

**回应评论**

该代码指定了一个硬编码日期,该日期将被取消选择,同时还要选择所需的日期。数据透视表无法选择“无”,这使情况变得很复杂,因此您需要先选择所需的日期,然后循环浏览所有可用的数据透视表值,然后取消选择其他值,从而跳过选择的日期。

这对于imo初学者编码来说是具有挑战性的一面,因此,如果您发现这一点,将会学到很多东西。