Přejít k hlavnímu obsahu

Jak vytvořit dynamický seznam názvů listů v aplikaci Excel?

Pokud máte v sešitu více listů a chcete vytvořit dynamický seznam všech názvů listů v novém listu v sešitu, jak to můžete udělat? Tento výukový program nyní představuje některé triky pro rychlé dokončení této mise v aplikaci Excel.

Vytvořte dynamický seznam názvů listů pomocí Definovat název a vzorec

Vytvořte dynamický seznam názvů listů pomocí kódu VBA

Vytvořte dynamický seznam názvů listů pomocí Kutools pro Excel dobrý nápad3

Zobrazte dynamický seznam názvů listů pomocí Kutools pro Excel dobrý nápad3


1. Vyberte buňku na prázdném listu, zde vyberu A1 a poté kliknu Vzorce > Definujte jméno. viz screenshot:
doc-dynamic-worksheetname-list-1

2. Pak v Nové jméno dialog, zadejte Listy do Příjmení textové pole (můžete změnit podle potřeby) a zadejte tento vzorec = SUBSTITUTE (GET.WORKBOOK (1), "[" & GET.WORKBOOK (16) & "]", "") do Odkazuje na textové pole. Viz screenshot:
doc-dynamic-worksheetname-list-2

3. cvaknutí OK. Přejděte do vybrané buňky (A1) a zadejte tento vzorec = INDEX (Listy, ŘÁDY ($ A $ 1: $ A1)) (A1 je buňka, do které zadáte tento vzorec, „Tabulky“ je název, který jste definovali v kroku 2) do ní, potom táhněte úchyt automatického vyplňování dolů, dokud #REF! objeví se.
doc-dynamic-worksheetname-list-3

Tip: Pokud existují odstraněné nebo přidané listy, musíte přejít na A1 a stisknout klávesu Enter a poté znovu otřít popisovač automatického vyplňování.
doc-dynamic-worksheetname-list-4


Pokud chcete vytvořit dynamický seznam názvů listů, které lze propojit s každým listem, můžete použít kód VBA.

1. Vytvořte nový list a přejmenujte jej jako Rejstřík. Viz screenshot:

doc-dynamic-worksheetname-list-5       doc-dynamic-worksheetname-list-6

2. Klikněte pravým tlačítkem na název listu rejstříku a vyberte Zobrazit kód z kontextového menu. Viz screenshot:
doc-dynamic-worksheetname-list-7

3. V rozbalovacím okně zkopírujte a vložte do něj kód VBA.

VBA: Vytvořte dynamický seznam názvů listů.

Private Sub Worksheet_Activate()
	'Updateby20150305
	Dim xSheet As Worksheet
	Dim xRow As Integer
	Dim calcState As Long
	Dim scrUpdateState As Long
	Application.ScreenUpdating = False
	xRow                       = 1
	With Me
		.Columns(1).ClearContents
		.Cells(1, 1) = "INDEX"
		.Cells(1, 1).Name = "Index"
	End With
	For Each xSheet In Application.Worksheets
		If xSheet.Name <> Me.Name Then
			xRow                     = xRow + 1
			With xSheet
				.Range("A1").Name = "Start_" & xSheet.Index
				.Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _
				SubAddress:             = "Index", TextToDisplay: = "Back to Index"
			End With
			Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _
			SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name
		End If
	Next
	Application.ScreenUpdating = True
End Sub

4. cvaknutí Běh or F5 ke spuštění VBA je nyní vytvořen dynamický seznam názvů listů.
doc-dynamic-worksheetname-list-8

Tip:

1. Když je list sešitu odstraněn nebo vložen, seznam názvů listů se automaticky změní.

2. Kliknutím na název listu v seznamu jmen přejděte na list.

S výše dvěma metodami nejsou dostatečně přesvědčivé, pokud máte zájem o nový nástroj, můžete jít další dvě metody, které mohou tento úkol usnadnit.


 Pokud chcete pouze rychle vypsat všechny názvy listů sešitu a propojit je s původními listy, můžete použít Kutools pro ExcelJe Vytvořte seznam názvů listů.

Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. 

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. cvaknutí Kutools Plus > Pracovní list > Vytvořte seznam názvů listů. Viz snímek obrazovky:

doc dynamický název listu 17

2. V Vytvořte seznam názvů listů dialog:

 seznam dynamických pracovních listů doc 2
(1) Zkontrolujte požadovaný styl indexu Styly indexů listů sekce;
(2) Pojmenujte nový indexový list zadáním dat do Zadejte název listu pro rejstřík listů Textové pole;
(3) Určete umístění, do kterého vložíte přidaný index Vložte rejstřík listů dovnitř seznam;
(4) Pokud chcete zobrazit názvy listů v jednom seznamu, vyberte 1 sloupec Zobrazení rejstříku listů do seznam.

3. cvaknutí Ok. Nyní můžete vidět, že jsou uvedeny názvy listů.
doc kutools vytvořit seznam listů 3

Tip:

1. Kliknutím na název listu můžete rychle přejít na původní list.

2. Seznam nebo názvy listů se nemohou dynamicky měnit při vkládání nebo mazání listů.

3. Ve skutečnosti můžete také vytvořit seznam tlačítek pro propojení relativního listu, stačí zkontrolovat Obsahuje tlačítka a makra v dialogu. viz screeshshot:
doc kutools vytvořit seznam listů 4

Kliknutím sem získáte další informace o vytvoření seznamu názvů listů.


Pokud jste s Kutools pro Excel, můžete také použít Navigace nástroj pro zobrazení názvů propojitelných listů v podokně

Po instalace zdarma Kutools pro Excel, prosím, postupujte takto:

1. cvaknutí Kutools > Navigace, klikněte Sešit a list k zobrazení sešitu a listu a můžete vybrat sešit, poté se jeho listy zobrazí v Navigace podokno. Viz screenshot:
navigační podokno dokumentů 1   

Tip:

Pokud jsou pracovní listy odstraněny nebo přidány, můžete kliknout na ikonu obnovit tlačítko navigační podokno dokumentů 2 v Navigacen podokno pro aktualizaci názvů listů.

Kliknutím sem zobrazíte další informace o navigaci.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (13)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo. hoe zou ik dit kunnen doen om hetzelfde te doen maar met een welbepaade cel van verschillende werkbladen. Bv. een leeg tabblad. mijn andere werkbladen hebben allemaal dezelfde lay-out, maar in iedere cel een andere tekst. Nu zou ik graag in mijn leeg tabblad in Cel A1 de gegevens terugvinden van tabblad1 cel B3. Maar dan zou ik graag in Cel A2 de gegevens terugvinden van tabblad 2 cel 3. En zou naar beneden en dit in een beweging. We kunnen allemaal afzonderlijk doen, maar als er 500 werkbladen zijn, is dit onmogelijk.

Merci voor den input.
This comment was minimized by the moderator on the site
Hi, I guess you want to list all same cells across multiple sheets, if so, there are two tutorials may help you. Please visit:
How to reference same cell from multiple worksheets in Excel?
How to create a list from same cells across multiple sheets in Excel?
Hope it is helpful.
This comment was minimized by the moderator on the site
Em português brasileiro, GET.WORKBOOK é identificado como uma função no Gerenciador de Nomes para criar o nome "Sheets", mas ao referenciar "Sheets" numa célula, aparece o erro "#NOME?". Tentei várias vezes, inclusive com a sugestão de traduzir GET.WORKBOOK para OBTER.LIVRO mas não funcionou.
This comment was minimized by the moderator on the site
Hi, try this: =SUBSTITUIR(INFO.PASTA.TRABALHO(1),"["&INFO.PASTA.TRABALHO(16)&"]","")
This comment was minimized by the moderator on the site
Thanks for this helpful info. I created a dynamic list with VBA code in the Index tab. I found that it only updates when I click back to the Index tab, though. Is there a way to ensure it auto updates as soon as a new tab is created? I refer to the tab names elsewhere in the workbook and others will be using it so I'm trying to make it seamless. Thank you!
This comment was minimized by the moderator on the site
Sorry, I do not find that code can finish your job.
This comment was minimized by the moderator on the site
Or you can simply rightClick either the left or right tab-horizontal-scroll arrow at the bottomLeft, and then click the worksheet name (from the simple vertical list) that you want to jump to.
This comment was minimized by the moderator on the site
Just what I needed and worked perfectly. Thank you!
This comment was minimized by the moderator on the site
Defining the name "Sheets" in the define name DOES NOT WORK. The "refers to" box will not save the formula as typed and converts it to a text string.
This comment was minimized by the moderator on the site
how can I use this code to create the list of worksheets in horizontal order instead of vertical? is it possible?
This comment was minimized by the moderator on the site
Thank you. It is very useful. :D
This comment was minimized by the moderator on the site
How can i remove the links to each sheets and how to not include the "sheet1" and "Index" sheet? Private Sub Worksheet_Activate() 'Updateby20150305 Dim xSheet As Worksheet Dim xRow As Integer Dim calcState As Long Dim scrUpdateState As Long Application.ScreenUpdating = False xRow = 1 With Me .Columns(1).ClearContents .Cells(1, 1) = "INDEX" .Cells(1, 1).Name = "Index" End With For Each xSheet In Application.Worksheets If xSheet.Name Me.Name Then xRow = xRow + 1 With xSheet .Range("A1").Name = "Start_" & xSheet.Index .Hyperlinks.Add anchor: = .Range("A1"), Address: = "", _ SubAddress: = "Index", TextToDisplay: = "Back to Index" End With Me.Hyperlinks.Add anchor: = Me.Cells(xRow, 1), Address: = "", _ SubAddress: = "Start_" & xSheet.Index, TextToDisplay: = xSheet.Name End If Next Application.ScreenUpdating = True End Sub
This comment was minimized by the moderator on the site
How would I go about editing this code to include a checkbox to the left of the link that I could use to hide rows on a cover sheet? Also how could I insert a row on the worksheets below A1 to have the return to index link show up there?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations