Přejít k hlavnímu obsahu

Jak vytvořit seznam všech názvů listů ze sešitu?

Předpokládejme, že máte sešit s více listy, nyní chcete vypsat všechny názvy listů v aktuálním sešitu, existuje nějaká rychlá metoda pro vytvoření seznamu názvů těchto listů v aplikaci Excel, aniž byste je museli psát jeden po druhém? Tento kurz poskytuje pokyny, jak vypsat názvy listů v aplikaci Excel.

Získejte seznam všech názvů listů ze sešitu dynamicky pomocí vzorců

Získejte seznam všech názvů listů ze sešitu s užitečnou funkcí

Získejte seznam všech názvů listů ze sešitu s kódem VBA


Získejte seznam všech názvů listů ze sešitu dynamicky pomocí vzorců

V aplikaci Excel můžete definovat název rozsahu a poté použít vzorec na seznam všech názvů listů z aktuálního sešitu, proveďte následující kroky:

1. Přejít na kliknutí Vzorec > Správce jmen, viz screenshot:

2. V Správce jmen , klepněte na tlačítko OK Nový tlačítko, viz screenshot:

3. Ve vyskočené Nové jméno dialogové okno, zadejte název do Příjmení textové pole a poté zkopírujte následující vzorec do pole Odkazuje na textové pole, viz screenshot:

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

4. Pak klikněte na tlačítko OK > zavřít Chcete-li zavřít dialogová okna, přejděte prosím na list, na kterém chcete zobrazit seznam všech názvů listů, a do následující buňky zadejte následující vzorec:

=IFERROR(INDEX(MID(Sheetnames,FIND("]",Sheetnames)+1,255),ROWS($A$2:A2)),"")

Poznámka: Ve výše uvedeném vzorci, Názvy listů je název rozsahu, na který jste se dostali v kroku 3.

5. A poté přetáhněte popisovač výplně dolů do buněk, když jsou zobrazeny prázdné buňky, a nyní jsou všechny názvy listů aktuálního sešitu uvedeny jako níže zobrazený snímek obrazovky:

6. Chcete-li vytvořit hypertextový odkaz pro každý list, použijte následující vzorec:

=HYPERLINK("#'"&A2&"'!A1","Go To Sheet")

Poznámka: Ve výše uvedeném vzorci, A2 je buňka, která obsahuje název listu, a A1 je buňka, ve které chcete umístit aktivní buňku. Například pokud kliknete na text hypertextového odkazu, vyhledá buňku A1 listu.

7. Nyní, když kliknete na text hypertextového odkazu, dostanete se na tento list, viz níže ukázka:

Tipy:
  • 1. U výše uvedených vzorců jsou vytvořené názvy listů uvedeny dynamicky. Když změníte název listu v sešitu, název indexového listu se automaticky aktualizuje.
  • 2. Soubor byste měli uložit jako Sešit se zvýšeným makra Excel formát, pokud chcete, aby vzorce fungovaly dobře i po uzavření a opětovném otevření souboru.

Získejte seznam všech názvů listů ze sešitu s užitečnou funkcí

S Vytvořte seznam názvů listů užitečnost doplňku třetí strany Kutools pro Excel, můžete jedním kliknutím vytvořit seznam názvů listů a propojit je pomocí hypertextového odkazu na každý list.

Poznámka:Použít toto Vytvořte seznam názvů listůNejprve byste si měli stáhnout soubor Kutools pro Excela poté tuto funkci rychle a snadno aplikujte.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. klikněte Kutools Plus > Pracovní list > Vytvořte seznam názvů listů, viz screenshot:

2. V Vytvořte seznam názvů listů V dialogovém okně zadejte následující nastavení:

(1.) Vyberte styly indexů listů můžete vytvořit názvy listů pomocí hypertextových odkazů nebo pomocí tlačítek maker.

(2.) Zadejte názvy listů pro index listu.

(3.) Určete umístění indexu listu.

(4.) Určete, kolik sloupců chcete v novém listu použít k zobrazení názvů listů.

3. Po dokončení nastavení klikněte na OK. Všechny názvy listů byly uvedeny s odkazy v novém listu aktuálního sešitu. Viz snímek obrazovky:

názvy listů s hypertextovými odkazy názvy listů s tlačítky maker
Tip: Chcete-li používat tuto funkci, měli byste nainstalovat Kutools pro Excel nejprve, prosím kliknutím stáhněte a získejte 30denní bezplatnou zkušební verzi nyní.

Získejte seznam všech názvů listů ze sešitu s kódem VBA

1. Podržte ALT + F11 klíče a otevře se Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující makro do souboru Modul Okno.

VBA: Seznam všech názvů listů s hypertextovými odkazy v novém listu:

Sub CreateIndex()
'updateby Extendoffice
    Dim xAlerts As Boolean
    Dim I  As Long
    Dim xShtIndex As Worksheet
    Dim xSht As Variant
    xAlerts = Application.DisplayAlerts
    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets("Index").Delete
    On Error GoTo 0
    Set xShtIndex = Sheets.Add(Sheets(1))
    xShtIndex.Name = "Index"
    I = 1
    Cells(1, 1).Value = "INDEX"
    For Each xSht In ThisWorkbook.Sheets
        If xSht.Name <> "Index" Then
            I = I + 1
            xShtIndex.Hyperlinks.Add Cells(I, 1), "", "'" & xSht.Name & "'!A1", , xSht.Name
        End If
    Next
    Application.DisplayAlerts = xAlerts
End Sub

3. zmáčkni F5 klávesu ke spuštění tohoto makra. Nyní byly všechny názvy listů v aktivním sešitu uvedeny v novém listu s názvem Index a názvy listů jsou také propojeny s každým listem, viz snímek obrazovky:

Comments (19)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
First, thanks to the author. And adding the Czech version.

tp 3. =O.KNIZE(1)&T(NYNÍ())
tp 4. =IFERROR(INDEX(ČÁST(nazvylistu;NAJÍT("]";nazvylistu)+1;255);ŘÁDKY($A$2:A4));"")
This comment was minimized by the moderator on the site
Hello,

je viens de tester la méthode via macros (dynamique avec formules) et ça marche au poil donc je tiens vraiment à remercier l'auteur de cet article parce que ça va vraiment m'aider dans mon travail ! Juste, je me permet de corriger les formules pour la version française. Et alors je ne sais pas si c'est parce que je suis sous la version 2019 mais Excel rouspète quand il n'y a pas d'argument en 3ème position de la fonction STXT ("MID" en version anglaise) donc obligé d'en rajouter un. Donc voilà ce que ça donne :

=LIRE.CLASSEUR(1)&T(MAINTENANT())

=SIERREUR(INDEX(STXT(nomsFeuilles;TROUVE("]";nomsFeuilles)+1,255;20);LIGNES($A$2:A2));"")

Bon travail à tous ! ;-)
This comment was minimized by the moderator on the site
Hello, Gizmil
Thank you for your comment, there are some functions are only available for English in Excel.
Your formula may help others.
Thanks again!
This comment was minimized by the moderator on the site
I close and open my document and all values in my sheet names column are all gone and blank but still the formula is there. I tried entering the same formula but it doesn't show the value anymore
This comment was minimized by the moderator on the site
Hello, Anne,
Sorrry for replying late, after creating the range names and formulas, you should save the workbook as Excel Macro-Enabled Workbook format, so next time, when you open the Excel file,the formulas can work well.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
I tried this one and it works. But when I close and open the file again all the values in my sheet names are blank and gone but the formula is still there. I tried enteing the same formula again but it doesn't show the value anymore
This comment was minimized by the moderator on the site
BRILLIANT!! Thank you so much! 😊
This comment was minimized by the moderator on the site
Causes problems when document protection is enabled by email or corporate policy
This comment was minimized by the moderator on the site
Thanks so much, this worked great.
This comment was minimized by the moderator on the site
Works great!! Thank you!!!!
This comment was minimized by the moderator on the site
sooooo helpful, works as expected!!!!! Thanks
This comment was minimized by the moderator on the site
THANK YOU SO MUCH! I freaking love your website. In a matter of minutes I've had a ton of time saved with two sections of this site including this one. Love it!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations