EXCEL - výpis názvu všech listů

Programy pro práci s textem, tabulkami, prezentacemi

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Michaal.K 12. 10. 2021 09:55

Ahoj,

potřeboval bych vypsat na jeden list všechny názvy listů v sešitu excelu. Mám listy: list1, list2, list3, list4, summary a potřebuji do listu summary vypsat názvy všech listů bez použití visual basic. Je to možné nějakým vzorcem, abych to nemusel psát ručně (těch listů je cca 30)?? Používám excel 2013.
Díky moc za pomoc.
Michaal.K
Junior

Odeslat příspěvekod Ondrej1 13. 10. 2021 10:05

Viz https://www.datanumen.com/blogs/3-quick ... -workbook/

Bez viditelného Visual Basicu to půjde metodou 2, problém je, že tenhle přístup (prehistorický excel) začíná Microsoft zařezávat a nemá budoucnost. Visual Basic nejde proč?
Ondrej1
Junior

Odeslat příspěvekod Michaal.K 14. 10. 2021 09:49

Ahoj,
díky za odkaz. Bohužel tento vzorec mi v excelu 2013 nefunguje:
Kód: Vybrat vše
=REPLACE(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")

Nechci se do visual basic moc pouštět. Jednak soubor budu muset přeukládat z xlsx do xlsm. A různé antiviry se na to moc dobře netváří, když to budu sdílet dál... Takže proto jsem se chtěl vyhnout visual basic, ale si to jinak nepůjde. Díky
Michaal.K
Junior

Odeslat příspěvekod Ondrej1 14. 10. 2021 15:41

V českém excelu je ta formule
Kód: Vybrat vše
=NAHRADIT(O.KNIZE(1),1,NAJÍT("]",O.KNIZE(1)),"")
nicméně to stejně vyžaduje přeuložení jako .xlsm (je to de facto VB4 makro).

Pokud má být ten seznam dynamický (se změnou názvů listů se mění seznam), tak to bez xlsm nepůjde. Jestli jde ale jen o to jednorázově vygenerovat jména listů, tak je na to pěkný trik (například) v Powershellu. Uložit soubor zavřít Excel, pustit powershell a dát následující
Kód: Vybrat vše
PS C:\temp> $xlApp = New-Object -comobject Excel.Application
PS C:\temp> $workbook = $xlApp.Workbooks.Open("C:\temp\test.xlsx")
PS C:\temp> $workbook.Worksheets | % { $_.name }
List1
Sheet1
Sheet2
Sheet3
Sheet4
Summary
PS C:\temp>

Výpis zkopírovat a vložit do Excelu. V paměti zůstane viset jeden proces Excelu, nejjednodušší je ho ignorovat, nebo odstranit z Task Manageru.
Ondrej1
Junior

Odeslat příspěvekod Michaal.K 15. 10. 2021 13:40

Ahoj,
super díky moc. Takhle mi to stačí.
Ještě jednou díky za pomoc.
Michaal.K
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků