Děkuji velice. Ten první odkaz je na makro, které skutečně vytváří DataPilot (KT) včetně filtru - funguje to bezvadně a není zas tak složité na mírnou úpravu (společně s malým prostudováním 3. odkazu lze vytvořit KT v jakémkoli tvaru). Jediné co jsem však ještě nezjistil je, zda lze fitrovat aniž by se překopávala celá tabulka. Tedy makro jen na filtr bez vytváření KT. Dokáže mi někdo zkušenější říci, které ty řádky mohu "vyhodit" abych pouze filtroval, s tím, že na listu bude vždy jen jedna KT? Nepochopil jsem co to je "jméno tabulky"
Tak jsem se s tím popral
Takže makro na filtrování KT může vypadat např takto:
(ačkoli stále nevím o většině příkazů co znamenají :-)
Sub filtr_KT
dim jmeno as string
Dim FilterFields(0) as New com.sun.star.sheet.TableFilterField
oController = ThisComponent.CurrentController
oSheetObj = oController.ActiveSheet
DataCellRange = oSheetObj.getCellRangeByName("A1:D10")
RangeAddress = DataCellRange.RangeAddress
Tables = oSheetObj.DataPilotTables() 'Tables has all the DataPilot Tables in the Active Sheet
Table = Tables.getByName("NewDataPilot")
wait 2000
jmeno = oSheetObj.getCellrangeByName("A13").String
FDes = Table.getFilterDescriptor
FilterFields(0).Field = 0
FilterFields(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
FilterFields(0).IsNumeric = False
FilterFields(0).StringValue = jmeno
FDes.FilterFields = FilterFields
End sub
Editoval ludviktrnka (13. 4. 2011 08:56:13)