
Általános képlet
=GET.WORKBOOK(1)&T(NOW())
Összegzés
A munkalapok felsorolásához egy Excel munkafüzetben kétlépcsős megközelítést használhat: (1) definiáljon egy "lapnevek" nevű tartományt egy régi makró paranccsal, és (2) az INDEX függvény segítségével töltse le a lapneveket a megnevezett tartomány segítségével. A bemutatott példában a B5 képlete a következő:
=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))
Megjegyzés: Ezzel a képlettel a MrExcel üzenőfalán futottam bele T. Valko bejegyzésében.
Magyarázat
A "sheetnames" nevű tartomány ezzel a kóddal jön létre:
=GET.WORKBOOK(1)&T(NOW())
A GET.WORKBOOK egy makróparancs, amely beolvassa az aktuális munkafüzet lapneveinek tömbjét. A kapott tömb így néz ki:
("(workbook.xlsm)Sheet1","(workbook.xlsm)Sheet2","(workbook.xlsm)Sheet3","(workbook.xlsm)Sheet4","(workbook.xlsm)Sheet5")
Egy rejtélyes kifejezés összefűzve az eredményt:
&T(NOW())
Ennek a kódnak a célja az újraszámítás kényszerítése a lapnevek változásainak felvételére. Mivel a MOST volatilis függvény, minden munkalap-változással újraszámol. A NOW függvény a dátumot és az időt ábrázoló numerikus értéket ad vissza. A T függvény üres karakterláncot ("") ad vissza a numerikus értékekhez, így az összefűzés nincs hatással az értékekre.
Visszatérve a munkalapra, a B6 cella ezt a képletet tartalmazza:
=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))
Belülről kifelé haladva a MID funkcióval eltávolítják a munkalap nevét. A kapott tömb így néz ki:
("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5")
Ez "tömbként" megy be az INDEX függvénybe. A ROW függvény egy bővülő tartományokat használ növekvő sorszám előállításához. Minden új sorban az INDEX a következő tömbértéket adja vissza. Ha nincs több kimeneti név, akkor a képlet #REF hibát ad vissza.
Megjegyzés: mivel ez a képlet makróparancsra támaszkodik, akkor makróképes munkafüzetként kell mentenie, ha azt szeretné, hogy a képlet a fájl bezárása és újbóli megnyitása után is folytassa a munkalapok nevének frissítését. Ha normál munkalapként menti, akkor a munkanév kódja lecsupaszodik.