Gå til hovedindhold

Hvordan oprettes en dynamisk liste over regnearknavne i Excel?

Hvis du har flere ark i en projektmappe, og du vil oprette en dynamisk liste over alle arknavne i et nyt ark i projektmappen, hvordan kan du gøre det? Nu introducerer denne tutorial nogle tricks til hurtigt at gennemføre denne mission i Excel.

Opret en dynamisk liste over regnearknavne med Definer navn og formel

Opret en dynamisk liste over regnearknavne med VBA-kode

Opret en dynamisk liste over regnearknavne med Kutools til Excel god idé3

Vis en dynamisk liste over regnearknavne med Kutools til Excel god idé3


1. Vælg en celle i et tomt ark, her vælger jeg A1, og klik derefter på formler > Definer navn. se skærmbillede:
doc-dynamic-regnearksnavn-liste-1

2. Derefter i Nyt navn dialog, skriv ark ind i Navn tekstboks (du kan ændre efter behov), og skriv denne formel = SUBSTITUT (GET.WORKBOOK (1), "[" & GET.WORKBOOK (16) & "]", "") i henviser til tekstfelt. Se skærmbillede:
doc-dynamic-regnearksnavn-liste-2

3. klik OK. Gå til den valgte celle (A1), og skriv denne formel = INDEKS (Ark, RÆKER ($ A $ 1: $ A1)) (A1 er den celle, du skriver denne formel, "Ark" er det navn, du definerede i trin 2) ind i den, og træk derefter autofyldhåndtaget ned til #REF! kommer til syne.
doc-dynamic-regnearksnavn-liste-3

Tip: Hvis der er regneark, der er fjernet eller tilføjet, skal du gå til A1og trykke på Enter-tasten og derefter kludre autofyldhåndtaget igen.
doc-dynamic-regnearksnavn-liste-4


Hvis du vil oprette en dynamisk liste over regnearknavne, der kan linke til hvert ark, kan du bruge VBA-kode.

1. Opret et nyt regneark, og omdøb det som indeks. Se skærmbillede:

doc-dynamic-regnearksnavn-liste-5       doc-dynamic-regnearksnavn-liste-6

2. Højreklik på arknavnet på Indeks, vælg Vis kode fra genvejsmenuen. Se skærmbillede:
doc-dynamic-regnearksnavn-liste-7

3. I poppevinduet skal du kopiere og indsætte nedenstående VBA-kode i det.

VBA: Opret dynamisk liste over regnearknavne.

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. klik Kør or F5 for at køre VBA oprettes der nu en dynamisk liste over regnearknavne.
doc-dynamic-regnearksnavn-liste-8

Tip:

1. Når arbejdsarkets regneark slettes eller indsættes, ændres listen over regnearknavne automatisk.

2. Du kan klikke på arknavnet på navnelisten for at gå til arket.

Med ovenstående to metoder er ikke overbevisende nok, hvis du er interesseret i nyt værktøj, kan du gå næste to metoder, der kan gøre denne opgave lettere.


 Hvis du kun vil hurtigt liste alle regnearknavne på projektmappen og linke dem til de originale ark, kan du bruge Kutools til Excel's Opret liste over arknavne.

Kutools til Excel, med mere end 300 praktiske funktioner, der gør dine job lettere. 

Efter gratis installation Kutools til Excel, gør venligst som nedenfor:

1. klik Kutools Plus > Arbejdsark > Opret liste over arknavne. Se skærmbillede:

doc dynamisk regnearknavn 17

2. i Opret liste over arknavne dialog:

 doc dynamisk regneark liste 2
(1) Kontroller den indeksstil, du har brug for i Arkindeksstilarter afsnit;
(2) Navngiv det nye indeksark med indtastning af dataene i Angiv arknavnet for arkindeks tekstboks;
(3) Angiv det sted, du vil placere det tilføjede indeksark i Indsæt arkindekset i liste;
(4) Hvis du vil vise arknavne på en enkelt liste, skal du vælge 1 kolonne i Viser arkindeks i liste.

3. klik Ok. Nu kan du se arknavnene er anført.
doc kutools opretter liste over ark 3

tips:

1. Du kan klikke på arknavnet for hurtigt at skifte til det originale ark.

2. Listen eller arknavne kan ikke ændres dynamisk, når arkene indsættes eller slettes.

3. Faktisk kan du også oprette en liste over knapper til at linke det relative ark, skal du bare kontrollere Indeholder knapper og makroer i dialogen. se skærmbillede:
doc kutools opretter liste over ark 4

Klik her for at vide mere om Opret liste over arknavne.


Hvis du med Kutools til Excel, kan du også bruge Navigation værktøj til at vise de sammenkædelige regnearknavne i en rude

Efter gratis installation Kutools til Excel, gør venligst som nedenfor:

1. klik Kutools > Navigation. Klik Arbejdsbog og ark for at vise projektmappen og regnearket, og du kan vælge en projektmappe, så vises regnearkene i Navigation rude. Se skærmbillede:
dok navigationsrude 1   

Tip:

Når der er regneark slettet eller tilføjet, kan du klikke på opdater knappen dok navigationsrude 2 i Navigation rude for at opdatere navnene på regnearket.

Klik her for mere information om navigation.

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
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