我创建了一个数据透视表,其源位于名为database的另一个工作表中,并且连接到sharepoint列表。
在数据透视表中,我想将Caretaker设置/过滤给打开宏文件的人而不是" All"。所有打开宏文件的用户都可以在数据库表中找到。我已经设置了.currentPage = Application.UserName。因此,无论何时打开文件,都只会显示其处理的项目。但它给了我一个错误"应用程序定义或对象定义的错误"
这是我的代码:
Sub RefreshQuery()
Dim timestamp As String
timestamp = UCase(Format(Now(), "dd-mmm-yyyy hh:mm:ss"))
With Sheets("DATABASE")
.Range("Table_owssvr").ListObject.QueryTable.Refresh
.Range("Table_owssvr_returned").ListObject.QueryTable.Refresh
End With
With Sheets("SUMMARY")
With .PivotTables("PivotTable1")
.PivotCache.Refresh
.PivotFields("CARETAKER").ClearAllFilters
.PivotFields("CARETAKER").CurrentPage = Application.UserName
.PivotFields("CARETAKER").PivotItems("CARETAKER").Visible = False
End With
.Shapes("Rectangle 1").TextFrame.Characters.Text = "LAST UPDATED: " & timestamp
End With
End Sub
数据透视表中的.currentPage是否可能等于打开文件的用户的全名?