0
0

Dobrý den,
mám problém s tím, že pokud máte dvě kontingenční tabulky v jednom sešitu na různých listech
tak pokud se aktualizují data příkazem ActiveWorkbook.PivotCaches(1).Refresh
dojde k rozhození dat a nastavení i v druhé KT v jiném listu. Nepomohlo mi ani
přejmenování druhé kt ani použití PivotCaches(2) při načítání do druhé kt.

acs= Workbooks("konfigurace.xls").Worksheets("nabidky")

If acs.QueryTables.Count > 0 Then
acs.QueryTables.Item(1).Delete
acs.Select
Cells.Select
Selection.Delete
End If

If acs.PivotTables.Count > 0 Then
existuje_pivottable = True
End If
If existuje_pivottable Then
Set objPivotCache = ActiveWorkbook.PivotCaches(1)
Else
Set objPivotCache = ActiveWorkbook.PivotCaches.Add( _
SourceType:=xlExternal)
End If
Set objPivotCache.Recordset = rstRecordset

If existuje_pivottable Then
ActiveWorkbook.PivotCaches(1).Refresh
Else
' Create a PivotTable cache and report.
With objPivotCache
.CreatePivotTable TableDestination:=Range("A3"), _
TableName:="Performance"
End With
End If

děkuji za odpověď
s pozdravem
Vladimír Jirsa

Marked as spam
Odeslal jirsa@volny.cz
Otázka položena 23.7.2020 8:56
29 views
0
Private answer

našel jsem v čem byl problém. Po refresh dat do pivotcashe totiž dojde ke změně indexu
nelze použít ActiveWorkbook.PivotCaches(1).Refresh protože když jsou dvě KT tak ta posledně načtená má (1)
proto je nutné vybrat správnou KT a použít tento příkaz pro refresh:
ActiveWorkbook.PivotCaches(ActiveCell.PivotTable.CacheIndex).Refresh

Marked as spam
Odeslal jirsa@volny.cz
Odpověděl 4.11.2020 12:43

Odešlete svou odpověď

Attach YouTube/Vimeo clip putting the URL in brackets: [https://youtu.be/Zkdf3kaso]