Я использовал https://www.mrexcel.com/forum/excel-questions/950078-filtering-pivot-table-based-cell-value.html для создания кода ниже, но я получаю сообщение об ошибке
Set Field = pt.PivotFields("EmployeeName")
Это говорит
Unable to get the PivotFields property of the PivotTable class
Хотя EmployeeName
- это поле в моей сводной таблице.Теперь у меня есть две базы данных в модели данных, которые обе имеют EmployeeName
в качестве поля, и они связаны через отношения.Нужно ли указывать, какую базу данных я хочу использовать и как мне это сделать?Мой скрипт ниже для справки.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'This line stops the worksheet updating on every change, it only updates when cell
'H6 or H7 is touched
If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
'Set the Variables to be used
Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String
'Here you amend to suit your data
Set pt = Worksheets("2018IndSales").PivotTables("PivotTable4")
Set Field = pt.PivotFields("EmployeeName")
NewCat = Worksheets("2018IndSales").Range("H6").Value
'This updates and refreshes the PIVOT table
With Worksheets("2018IndSales").PivotTables("PivotTable4").PivotFields("EmployeeName")
.ClearAllFilters
.PivotFilters.Add Type:=xlCaptionEquals, Value1:=Worksheets("2018IndSales").Range("H6").Value
End With
End Sub