Van a Pivot-tábláknak több, roppant módon idegesítő tulajdonsága, amelyek többségét azért beállításokkal lehet kezelni (például, hogy az adatok frissítésével ne állítsa mindig át az oszlopok szélességét), viszont van olyan, amelyet VBA nélkül már csak igen bajosan lehet megoldani. Ennek ellenére azért én most megpróbálkozom egy igazán kemény dióval. Adott egy kis Pivot-tábla, amelyben az értékek nagyság szerint vannak sorba rendezve:
Ebben a táblában a harmadik helyezett érték (a 3. legnagyobb) alatt mindig szeretnénk egy vonalat látni:
Alapesetben ha változtatunk az adatforrásunkon, majd utána az Analyze ribbonfül Data szekciójából nyomunk egy Refresht, akkor máris bukott a mutatványunk:
A jobb egérgombbal való kattintás után előhívható menüből megnyitható PivotTable Options alatt is hiába keresgélünk, bizonyos formátumoknál a "Preserve cell formatting on update" működik, itt viszont nem (akár ki, akár be van kapcsolva):
Ha pedig még plusz sorokat is hozzáadunk, akkor meg végképp szétesett a tábla:
Egy lehetséges megoldás a kívánt cél elérésére a Conditional Formatting használata - álljunk a Pivot-táblánkra, majd a Home ribbonfül Styles szekciójában hívjuk le a Conditional Formatting legördülő menüjét és hozzunk létre egy új Rulet:
Figyeljünk rá, hogy az Apply Rule az összes értéket tartalmazó cellánkra vonatkozzon! A Rule típusa legyen "Format only top or bottom ranked values". A Top 3 értékre tegyünk először alsó bordert, majd ugyanezeket a lépéseket ismételjük meg, de akkor már úgy, hogy a Top 2 értékről távolítsuk el az alsó bordert, tehát ezzel elértük, hogy a 3. értékünk mindig aláhúzott lesz:
Most már lehet frissítgetni:
Az aláhúzás ott lesz szépen a harmadik helyezett érték alatt:
A megoldás hiányossága, hogy a Row Label oszlopban már nincs aláhúzás, másrészt a borderek formázási lehetőségei elég korlátozottak Conditional Formattingban. Ennek tükrében pedig a lecke fel van adva minden kedves Olvasónak - ha valakinek van nem VBA-s ötlete a fenti problémára, ne fogja vissza magát!