Hoppa till huvudinnehåll

Hur skapar jag en dynamisk lista över kalkylbladens namn i Excel?

Om du har flera ark i en arbetsbok och vill skapa en dynamisk lista över alla arknamn i ett nytt ark i arbetsboken, hur kan du göra det? Nu introducerar denna handledning några knep för att snabbt slutföra detta uppdrag i Excel.

Skapa en dynamisk lista över kalkylarknamn med Definiera namn och formel

Skapa en dynamisk lista med kalkylarknamn med VBA-kod

Skapa en dynamisk lista med kalkylbladnamn med Kutools för Excel bra idé3

Visa en dynamisk lista med kalkylbladnamn med Kutools för Excel bra idé3


1. Välj en cell i ett tomt ark, här väljer jag A1 och klickar sedan på Formler > Definiera namn. se skärmdump:
doc-dynamic-worksheetname-list-1

2. Sedan i Nytt namn dialog, skriv Ark in i Namn textruta (du kan ändra efter behov) och skriv den här formeln = SUBSTITUT (GET.WORKBOOK (1), "[" & GET.WORKBOOK (16) & "]", "") till Hänvisar till textrutan. Se skärmdump:
doc-dynamic-worksheetname-list-2

3. klick OK. Gå till den valda cellen (A1) och skriv den här formeln = INDEX (Sheets, ROWS ($ A $ 1: $ A1)) (A1 är den cell du skriver den här formeln, "Ark" är namnet du definierade i steg 2) i den, och dra sedan ned autofyllhandtaget tills #REF! visas.
doc-dynamic-worksheetname-list-3

Tips: Om det finns kalkylblad som tas bort eller läggs till, måste du gå till A1och trycka på Enter-tangenten och sedan trassla i autofyllhandtaget igen.
doc-dynamic-worksheetname-list-4


Om du vill skapa en dynamisk lista över kalkylbladets namn som kan länka till varje ark kan du använda VBA-kod.

1. Skapa ett nytt kalkylblad och byta namn på det som index. Se skärmdump:

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

2. Högerklicka på arkets namn på Index, välj Visa kod från snabbmenyn. Se skärmdump:
doc-dynamic-worksheetname-list-7

3. Kopiera och klistra in under VBA-koden i poppfönstret i det.

VBA: Skapa en dynamisk lista över kalkylbladets namn.

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. klick Körning or F5 för att köra VBA skapas nu en dynamisk lista med kalkylbladets namn.
doc-dynamic-worksheetname-list-8

Dricks:

1. När arbetsbokens arbetsblad raderas eller infogas ändras listan över kalkylbladsnamn automatiskt.

2. Du kan klicka på arkenamnet i namnlistan för att gå till arket.

Med ovanstående två metoder är inte tillräckligt övertygande, om du är intresserad av nytt verktyg kan du gå nästa två metoder som kan göra denna uppgift enklare.


 Om du bara vill lista alla arbetsbladets namn på arbetsboken och länka dem till originalarken kan du använda Kutools för ExcelÄr Skapa lista över arknamn.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

Efter gratis installation Kutools för Excel, gör så här:

1. klick Kutools Plus > Arbetsblad > Skapa lista över arknamn. Se skärmdump:

doc dynamiskt kalkylblad 17

2. I Skapa lista över arknamn dialog:

 doc dynamisk kalkylbladslista 2
(1) Kontrollera indexstilen du behöver i Bladindexstilar sektion;
(2) Namnge det nya indexarket genom att skriva in data i Ange bladnamn för Sheet Index textruta;
(3) Ange platsen du ska lägga till det tillagda indexarket i Sätt in arkindex i lista;
(4) Om du vill visa arknamnen i en enda lista, välj 1 kolumn i Visar arkindex i lista.

3. klick Ok. Nu kan du se att arkenamnen är listade.
doc kutools skapar arklista 3

Tips:

1. Du kan klicka på arknamnet för att snabbt flytta till originalarket.

2. Listan eller arkenamnen kan inte ändras dynamiskt när arken infogas eller tas bort.

3. Egentligen kan du också skapa en lista med knappar för att länka det relativa arket, behöver bara kontrollera Innehåller knappar och makron i dialogrutan. se screeshshot:
doc kutools skapar arklista 4

Klicka här om du vill veta mer om Skapa lista över arknamn.


Om du med Kutools för Excelkan du också använda Navigering verktyg för att visa länkbara kalkylarknamn i en ruta

Efter gratis installation Kutools för Excel, gör så här:

1. klick Kutools > Navigering. Klicka Arbetsbok och ark för att visa arbetsboken och kalkylbladet, och du kan välja en arbetsbok, då visas dess kalkylblad i Navigering ruta. Se skärmdump:
dokumentnavigeringsruta 1   

Dricks:

När det finns kalkylblad raderade eller tillagda kan du klicka på Uppdatera-knappen dokumentnavigeringsruta 2 i Navigation-ruta för att uppdatera kalkylbladets namn.

Klicka här för mer information om navigering.

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje 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