openoffice, prace s listy
Ludvik Urban
lu na argo.troja.mff.cuni.cz
Čtvrtek Červen 7 11:40:17 CEST 2018
On Wed, 6 Jun 2018, Vladimír Macek wrote:
> Kolega má .ODS sešit s asi 30 listy o stejné struktuře a každý list se
> nějak jmenuje. Chtěl by do nového listu SOUČET agregaci takovu, že na
> každém řádku byl název listu a hodnota z buňky E66 daného listu.
>
> Řekl jsem mu, že na tento úkol spreadsheet úplně není, protože listy
> používá jako další dimenzi tabulky. Ale třeba někdo z vás během minuty
> nastřelí makro, které by kolegovi pomohlo a on by to nemusel překlofávat... :-)
Vubec jsem s tim nikdy nic nedelal,
ale asi se da neco najit na tech internetech. :-)
Tools->Macros->Organise Macros->LIbreOfice Baxic
Tady si vytvorim makro:
----------------------------------------------
Function SHEETLIST()
SHEETLIST = ThisComponent.Sheets.getElementNames()
End Function
----------------------------------------------
Pak najedu na vybranou bunku a napisu:
"=sheetlist()" a soucasne stisknu ctrl+shift+enter
A ve bunce a v dalsich napravo se mi vlozi nazvy vsech listu.
Kdyz napisu "transpose(sheetlist())" a case zmacknu ctrl+shift+enter,
vytvori se mi seznam vsech listu svisle v tom sloupci.
No a pak asi staci se odkazat na bunku obsahujici nazev potrebneho
listu:
=INDIRECT("'"&<bunka, kde je nazev listu>&"'.<bunka na tom listu>")
Cili priklad:
mam-li v bunce B9 nazev listu a z toho listu potrebuju bunku A7:
=INDIRECT("'"&B9&"'.A7")
bez zaruky...
--
--------------------------------------------
| Ludvik Urban lu na argo.troja.mff.cuni.cz |
--------------------------------------------
Další informace o konferenci Linux