Hoppa till huvudinnehåll

Hur skapar jag en lista över alla kalkylbladens namn från en arbetsbok?

Om du antar att du har en arbetsbok med flera kalkylblad, nu vill du lista alla arknamn i aktuell arbetsbok. Finns det någon snabb metod för att skapa en lista med avhandlingarnas arknamn i Excel utan att skriva dem en efter en? Denna handledning ger instruktioner om hur du listar kalkylarknamn i Excel.

Få en lista över alla kalkylbladets namn från en arbetsbok dynamiskt med formler

Få en lista över alla kalkylbladets namn från en arbetsbok med en användbar funktion

Få en lista med alla kalkylbladets namn från en arbetsbok med VBA-kod


Få en lista över alla kalkylbladets namn från en arbetsbok dynamiskt med formler

I Excel kan du definiera ett intervallnamn och sedan använda en formel för att lista alla arknamn från aktuell arbetsbok, gör med följande steg:

1. Gå till klicka Formel > Namnhanterare, se skärmdump:

2. I Namnhanterare dialogrutan, klicka Nya knapp, se skärmdump:

3. I poppade ut Nytt namn i dialogrutan, ange ett namn i Namn textrutan och kopiera sedan formeln nedan till Refererar till textruta, se skärmdump:

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

4. Klicka sedan OK > Stänga för att stänga dialogrutorna, gå nu till ett ark där du vill lista alla arknamn och ange sedan följande formel i en tom cell:

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

Anmärkningar: I ovanstående formel, Bladnamn är det intervallnamn du krönte i steg 3.

5. Och dra sedan påfyllningshandtaget ner till cellerna när tomma celler visas, och nu har alla arknamn för aktuell arbetsbok listats enligt nedanstående skärmdump:

6. Om du vill skapa hyperlänken för varje ark, använd nedanstående formel:

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

Anmärkningar: I ovanstående formel, A2 är cellen som innehåller bladets namn och A1 är cellen där du vill att den aktiva cellen ska placeras. Om du till exempel klickar på hyperlänkstexten kommer den att hitta cellen A1 i arket.

7. Nu när du klickar på hyperlänkstexten tar det dig till det arket, se nedan demo:

tips:
  • 1. Med ovanstående formler listas de skapade arknamnen dynamiskt. När du ändrar arknamnet i arbetsboken uppdateras indexarknamnet automatiskt.
  • 2. Du bör spara filen som Excel Macro-Enabled Workbook om du vill att formlerna ska fungera bra efter att filen stängs och öppnas igen.

Få en lista över alla kalkylbladets namn från en arbetsbok med en användbar funktion

Med Skapa lista över arknamn verktyget för tillägget från tredje part Kutools för Excel, kan du skapa en lista med kalkylbladets namn med ett enda klick och länka till varje kalkylblad med hyperlänk.

Notera:Att tillämpa detta Skapa lista över arknamnFör det första bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Klicka Kutools Plus > Arbetsblad > Skapa lista över arknamn, se skärmdump:

2. I Skapa lista över arknamn dialogrutan, ange följande inställningar:

(1.) Välj arkstilar du vill kan du skapa kalkylbladets namn med hyperlänkar eller med makroknappar.

(2.) Ange kalkylbladets namn för arkindex.

(3.) Ange platsen för kalkylbladets index.

(4.) Ange hur mycket kolumner du vill använda i det nya kalkylbladet för att visa kalkylbladets namn.

3. När du är klar med inställningarna klickar du sedan på OK. Alla kalkylbladets namn har listats med länkar i ett nytt kalkylblad i den aktuella arbetsboken. Se skärmdump:

kalkylbladets namn med hyperlänkar kalkylbladets namn med makroknappar
Tips: För att använda den här funktionen bör du installera Kutools för Excel först, snälla klicka för att ladda ner och få en 30-dagars gratis provperiod nu.

Få en lista med alla kalkylbladets namn från en arbetsbok med VBA-kod

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande makro i Modulerna Fönster.

VBA: Lista alla kalkylarknamn med hyperlänkar i ett nytt kalkylblad:

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. tryck på F5 för att köra detta makro. Nu har alla kalkylbladsnamn i den aktiva arbetsboken listats i ett nytt kalkylblad som heter Index, och arknamnen är också länkade till varje ark, se skärmdump:

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