Dělám to tak, že nejdříve v celém skloupci vymažu veškeré formátování (trvá dlouho), poté označím oblast (sloupec v KonTab) jejíž formát zkopíruju do jiného sloupce.
celé je to strašně pomalé, potřeboval bych to celé nějak z optimalizovat.
1. Mažu formátování
Kód: Vybrat vše
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Columns("F:F").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Interior.Pattern = xlNone
Selection.Font.ColorIndex = xlAutomatic
2.kopíruju formátování (je to ve stejné proceduře jako předešlý krok):
Kód: Vybrat vše
a = WorksheetFunction.CountA(Range("PopisRadku")) + 2
Range("D3:D" & a).Select
Selection.Copy
Range("F3:F" & a).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Potom by mě zajímalo, zda událost "PivotTableUpdate" je vhodnou událostí pro spuštění procedury. Proceduru potřebuji spustit vždy po aktualizaci KonTab.