Мой код работает отлично ... но каким-то образом он добавляет поле данных при каждом запуске. Я пытался проверить его, если он существует с If pf.Orientation = xlDataField = True Then...("Don't add xlDataField")...
Все еще нет результатов.
Я почти уверен, что упускаю что-то важное здесь, иначе код работает хорошо. Есть ли способ не добавлять другое поле, если оно уже существует?
Sub Import()
Dim ws As Worksheet, pvtCache As PivotCache
Dim wsp As Worksheet
Dim pf As PivotField, pt As PivotTable
Set wsp = Sheets("Pivot")
Set pt = wsp.PivotTables("PivotTable")
ActiveWorkbook.RefreshAll
Sheets("TP_Coois").Cells.Replace ",", "", xlPart
Set pf = pt.PivotFields("Sales")
If pf.Orientation = xlDataField = True Then '***I believe here is something wrong***
pt.PivotCache.Refresh
Else
With pf
.Orientation = xlDataField
.Function = xlSum
End With
pt.PivotCache.Refresh
End If
End Sub
Любая помощь приветствуется