Excel-kaava: Listaa taulukoiden nimet kaavalla -

Yleinen kaava

=GET.WORKBOOK(1)&T(NOW())

Yhteenveto

Jos haluat luetella laskentataulukoita Excel-työkirjassa, voit käyttää kaksivaiheista lähestymistapaa: (1) määritellä nimetty alue, jota kutsutaan nimellä "arkkinimet", vanhalla makrokomennolla ja (2) hakea taulukon nimiä käyttämällä nimettyä aluetta INDEX-funktiolla. Esitetyssä esimerkissä kaava kohdassa B5 on:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Huomaa: törmäsin tähän kaavaan MrExcel-ilmoitustaululle T.Valkon lähettämässä viestissä.

Selitys

Nimetty alue "sheetnames" luodaan tällä koodilla:

=GET.WORKBOOK(1)&T(NOW())

GET.WORKBOOK on makrokomento, joka hakee taulukon taulukoiden nimet nykyisestä työkirjasta. Tuloksena oleva taulukko näyttää tältä:

("(workbook.xlsm)Sheet1","(workbook.xlsm)Sheet2","(workbook.xlsm)Sheet3","(workbook.xlsm)Sheet4","(workbook.xlsm)Sheet5")

Salattu lauseke liitetään tulokseen:

&T(NOW())

Tämän koodin tarkoituksena on pakottaa uudelleenlaskenta poimimaan muutokset arkkien nimiin. Koska NOW on haihtuva toiminto, se laskee uudelleen jokaisen laskentataulukon muutoksen kanssa. NOW-toiminto palauttaa numeerisen arvon, joka edustaa päivämäärää ja aikaa. T-funktio palauttaa tyhjän merkkijonon ("") numeerisille arvoille, joten ketjutuksella ei ole vaikutusta arvoihin.

Takaisin laskentataulukolle solu B6 sisältää tämän kaavan, joka on kopioitu alaspäin:

=INDEX(MID(sheetnames,FIND(")",sheetnames)+1,255),ROWS($B$5:B5))

Sisältäpäin työskentelemällä MID-toimintoa käytetään laskentataulukoiden nimien poistamiseen. Tuloksena oleva taulukko näyttää tältä:

("Sheet1","Sheet2","Sheet3","Sheet4","Sheet5")

Tämä siirtyy INDEX-funktioon "matriisina". ROW-toiminto käyttää laajenevia alueita kasvavan rivinumeron luomiseen. Jokaisella uudella rivillä INDEX palauttaa seuraavan taulukon arvon. Kun tulostettavia arkkien nimiä ei enää ole, kaava palauttaa #REF-virheen.

Huomaa: koska tämä kaava perustuu makrokomentoon, sinun on tallennettava makrokäyttöisenä työkirjana, jos haluat kaavan jatkavan taulukoiden nimien päivittämistä tiedoston sulkemisen ja avaamisen jälkeen. Jos tallennat normaalina laskentataulukona, taulukon nimen koodi riisutaan.

Hyvät linkit

T. Valkon kirjoittama herra Excel -foorumin viesti

Mielenkiintoisia artikkeleita...