Note: The other languages of the website are Google-translated. Back to English

Hur gör jag flikens namn lika med cellvärdet i Excel?

I vissa fall kan du behöva byta namn på ett kalkylblad baserat på ett specificerat cellvärde. I den här artikeln visar vi dig metoder för att göra flikens namn lika med cellvärdet i Excel.

Gör bladets fliknamn lika med cellvärdet med VBA-kod
Gör flikens namn lika med cellvärdet med Kutools för Excel


Gör bladets fliknamn lika med cellvärdet med VBA-kod

Med följande VBA-kod kan du automatiskt göra fliknamn lika med cellvärdet.

1. Högerklicka på arkfliken som du vill göra arkets namn lika med cellvärdet och klicka sedan på Visa kod från högerklickmenyn. Se skärmdump:

2. Kopiera och klistra in under koden i kodfönstret och tryck sedan på andra + Q samtidigt för att stänga Microsoft Visual Basic for Applications-fönstret.

VBA-kod: Gör arkfliken lika med cellvärdet

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub

Anmärkningar: I koden är A1 cellen som innehåller det värde du behöver använda som arknamn. Du kan ändra det efter behov.

Från och med nu, när värdet i cell A1 ändrats, ändras även flikens namn.


Gör flikens namn lika med cellvärdet med Kutools för Excel

I detta avsnitt presenterar vi dig Byt namn på flera kalkylblad nytta av Kutools för Excel. Med det här verktyget kan du enkelt byta namn på kalkylblad med vissa cellvärden i Excel.

Innan du ansöker Kutools för ExcelBer ladda ner och installera det först.

1. klick Kutools Plus > Arbetsblad > Byt namn på flera kalkylblad. Se skärmdump:

2. I Byt namn på flera kalkylblad måste du göra enligt följande.

1). Kontrollera kalkylbladets namn som du vill byta namn på kalkylblad (du kan välja ett eller flera ark).
2). Välj Byt ut originalarknamnet ruta i Byt namn på alternativ sektion.
3). Om du vill byta namn på ett kalkylblad eller flera kalkylblad med angivet cellvärde, välj Från specifikt intervall och välj det cellområde som du vill byta namn på arken baserat på.
4). Klicka på OK knapp. Se skärmdump:

Du kan se att de valda kalkylbladen bytt namn på det angivna intervallvärdet omedelbart enligt nedanstående skärmdump.

Anmärkningar:

1. Du kan använda Filter funktion för att enkelt filtrera bort det nödvändiga kalkylbladet om det finns många kalkylblad.
2. Om du vill byta namn på flera kalkylblad med ett visst cellvärde i varje ark. Till exempel kommer ark1 att vara lika med cellens A1-värde och ark2 också vara lika med cellens A1-värde. Välj kalkylblad i kalkylblad och välj sedan Byt namn på kalkylblad med specifik cell och ange cell A1 i rutan.

3. Arknamnet ändras inte automatiskt när cellvärdet ändras.

  Om du vill ha en gratis provperiod (30-dag) för detta verktyg, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Gör flikens namn lika med cellvärdet med Kutools för Excel


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (28)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag klistrade in detta enligt instruktionerna men det dök inte upp i min lista över tillgängliga makron. Jag försökte köra den manuellt genom att knappa in makronamnet. När den försökte köra makrot, kom ett felmeddelande "Argument inget valfritt".

Privata delarkivsförändring (ByVal-mål som område)
Om inte skära (Mål, intervall("A1")) är ingenting då
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
End Sub

Har någon annan kört den här koden och haft samma problem?

Som ett test körde jag mer grundläggande kod och det fungerade bra så värdet i "A1" orsakar inte problemet. När jag kör koden nedan kan jag se makronamnet "myTabName" i makrolistan. Koden ovan visas inte och jag antar att det beror på felet/felet argument.

Sub myTabName()
ActiveSheet.Name = ActiveSheet.Range("A1")
End Sub

Tack för din hjälp eftersom jag väldigt gärna skulle vilja använda koden som avsedd för att automatisera ändringar av fliknamn baserat på ett cellvärde.
Denna kommentar minimerades av moderatoren på webbplatsen
Kära Jason,
Koden fungerar bra i mitt fall. Kan du ange din Office-version? Tack för din kommentar.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Crystal,

Det fungerade inte för mig också, kan det bero på att cellen jag hänvisar till är en formel?

Tack för att du svarade
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Mei,

Tack för din feedback. Problemet orsakades av formeln. Koden har ändrats. Vänligen ge det ett försök.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20230130
    On Error Resume Next
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    ElseIf Not Intersect(Target.Dependents, Range("A1")) Then
        ActiveSheet.Name = ActiveSheet.Range("A1")
    End If
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Jag får den här koden att fungera, men den uppdaterar inte automatiskt fliknamnet när cellen den hämtar namnet från om den refererar till en annan cell (och den cellen ändras).


Dvs jag ändrar en cell i en huvudlista, vilket ändrar celltexten i en specifik cell på varje flik, som koden refererar till som fliknamnet, MEN fliken uppdaterar inte sitt namn på motsvarande sätt.
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Följande VBA-kod kan lösa ditt problem. Tack för din kommentar1

Privata delarkivsförändring (ByVal-mål som område)
Dim xRg As Range, xCell As Range
On Error Resume Next
Om inte skära (Mål, intervall("A1")) är ingenting då
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
Application.EnableEvents = False
Set xRg = ActiveSheet.Range("A1"). Prejudikat
Om inte xRg är ingenting då
För varje xCell In xRg
ActiveSheet.Name = ActiveSheet.Range("A1")
Nästa
End If
Application.EnableEvents = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Fungerar fortfarande inte. Jag har samma problem som jJJ. crystal: Visas hela koden i ditt svar?
Den sista raden som visas i din kommentar är "Set xRg = ActiveSheet.Range("A1").Precedents"
Denna kommentar minimerades av moderatoren på webbplatsen
Kära JAS,
Klicka på knappen Läs mer till höger om kommentaren för att visa hela kommentaren.
Denna kommentar minimerades av moderatoren på webbplatsen
Har fortfarande samma problem.

Jag har A1 av det nya arket pekar till en annan cell i en annan flik. Den uppdateras första gången (när du kör) men sedan ingen förändring när du redigerar huvudcellen
Denna kommentar minimerades av moderatoren på webbplatsen
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Ställ in mål = Range("A1")
Om Target = "" Avsluta Sub
Vid fel GoTo Badname
ActiveSheet.Name = Left(Target, 31)
Exit Sub
Dåligt namn:
MsgBox "Ändra posten i A1." & Chr(13) _
& "Det verkar innehålla en eller flera " & Chr(13) _
& "olagliga karaktärer." & Chr(13)
Område ("A1"). Aktivera
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Problemet är fortfarande detsamma, det ändras första gången. när jag länkar den cellen till ett annat ark och ändrar det ändras det inte automatiskt
Denna kommentar minimerades av moderatoren på webbplatsen
Jag måste använda den här koden men jag har aldrig angett vba-koden tidigare. All vägledning skulle uppskattas.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag ändrar en cell i en huvudlista, vilket ändrar celltexten i en specifik cell på varje flik, som koden refererar till som fliknamnet, MEN fliken uppdaterar inte sitt namn på motsvarande sätt.

---- det fungerar inte
Denna kommentar minimerades av moderatoren på webbplatsen
Jag fick hela koden och det fungerade. Tack så mycket för hjälpen!
Denna kommentar minimerades av moderatoren på webbplatsen
Kära JAS,
Jag är glad att jag kunde hjälpa till.
Denna kommentar minimerades av moderatoren på webbplatsen
Du kan hellre använda enkelt makro



Sub Macro3 ()
Dim index Som heltal
För index = 1 till 18

Sheets(index).Name = Sheets(index).Range("A2").Value

Nästa index



End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
God dag,
Tack för att dela.
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är precis vad jag behöver, men jag behöver fliken för att återskapa ett datum och det fungerar inte... Jag antar att det här har att göra med hur Excel arbetar med datum och tid, kan någon föreslå en lösning?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej nick
Excel stöder inte att skriva arknamnet som innehåller specialtecken. Om datumet du skriver innehåller tecknet /, tillåter det dig inte att skapa arknamnet med det datumet.
Denna kommentar minimerades av moderatoren på webbplatsen
Hur kan jag referera till två celler. till exempel namn och id-nummer?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använder din exakta kod från ovan för VBA-kod som fungerar perfekt för det jag behöver. Däremot har jag ett gäng makron på ett ark som heter Job Template som kopieras och återanvänds för varje nytt jobb. Jag designade alla mina makron baserat på en ny kopierad version som heter Job Template (2). När arknamnet har ändrats till det nya jobbnamnet fungerar makron inte längre och måste göras manuellt. Jag skulle vilja kunna använda vilken som helst av mina makroknappar när som helst istället för att bara använda dem innan jag ändrar arknamnet.

Finns det något sätt för VBA-koden att alltid referera till arknamnet innan resten av kodfunktionerna körs?
Denna kommentar minimerades av moderatoren på webbplatsen
Vilket är det högsta antalet arbetsblad som kan ändras namn via Kutools Plus? eftersom Excel låter mig bara ändra 17 namn, och det är allt
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerade perfekt för mitt första kalkylblad, men inte för det andra eller tredje etc (jag har upp till cirka 20 kalkylblad som alla behöver denna funktion). Har jag missat något?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej A Owen,
Denna kod fungerar bara för ett kalkylblad per gång. Beklagar olägenheten.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Crystal,

När jag klistrar in din kod kommer den tillbaka med felet "användardefinierad typ inte definierad"?

Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Tom J,
Se till att dessa tre alternativ är markerade i dialogrutan Referenser - VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
Denna kommentar minimerades av moderatoren på webbplatsen
fungerade vackert!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé.
J'ai simplement fermé la page après avoir collé et ça ne marche pas
tack
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL