Hoppa till huvudinnehåll

 Hur kopierar man ark och byter namn baserat på cellvärde i Excel?

Normalt kan du använda Flytta eller Kopiera för att kopiera ett kalkylblad och skriv sedan ett nytt namn för kopian manuellt efter behov. Men har du någonsin försökt byta namn på arket baserat på ett cellvärde efter att du har kopierat kalkylbladet? Den här artikeln kommer jag att prata om hur du automatiskt byter namn på kalkylbladet baserat på cellvärde när du gör en kopia.

Kopiera ett kalkylblad och byta namn baserat på cellvärde med VBA-kod

Kopiera ett kalkylblad flera gånger och byta namn baserat på cellvärden med Kutools för Excel


Kopiera ett kalkylblad och byta namn baserat på cellvärde med VBA-kod

Följande VBA-kod kan hjälpa dig att kopiera ett kalkylblad och byta namn på det med ett specifikt cellvärde automatiskt, gör så här:

1. Aktivera kalkylbladet som du vill kopiera och håll ned ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

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

VBA-kod: Kopiera ett kalkylblad och byta namn med ett cellvärde:

Sub Copyrenameworksheet()
'Updateby Extendoffice
    Dim ws As Worksheet
    Set wh = Worksheets(ActiveSheet.Name)
    ActiveSheet.Copy After:=Worksheets(Sheets.Count)
    If wh.Range("A1").Value <> "" Then
    ActiveSheet.Name = wh.Range("A1").Value
    End If
    wh.Activate
End Sub

3. Och tryck sedan på F5 nyckel för att köra den här koden, och ditt nuvarande kalkylblad har kopierats till aktuell arbetsbok efter alla kalkylblad, och det byts namn med det cellvärde du angav, se skärmdump:

doc kopiera raname efter värde 1

Anmärkningar: I ovanstående kod, cellreferensen A1 är det cellvärde du vill byta namn på för det nya kopierade arket, kan du ändra det till ditt behov.


Kopiera ett kalkylblad flera gånger och byta namn baserat på cellvärden med Kutools för Excel

Ovanstående kod kan bara byta namn med ett cellvärde, om du behöver kopiera arket flera gånger och byta namn på dem baserat på en lista med cellvärden, Kutools för ExcelÄr Skapa sekvensarbetsblad kan hjälpa dig att slutföra den här uppgiften så fort du kan.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. 

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

1. Klicka Kutools Plus > Arbetsblad > Skapa sekvensarbetsblad, se skärmdump:

doc kopiera raname efter värde 3

2. I Skapa sekvensarbetsblad dialogrutan, gör följande:

(1.) Välj kalkylbladets namn som du vill kopiera från Basarbetsblad rullgardinsmeny;

(2.) Välj Data i ett intervallalternativ under Arknamn baserat på avsnittet och klicka på doc kopiera raname efter värde 5 för att välja cellvärdena som du vill byta namn på de kopierade kalkylarken baserat på.

Ladda ner Kutools för Excel nu!

3. Klicka sedan Ok -knappen och det specifika kalkylbladet har kopierats flera gånger och bytt namn på de cellvärden du valde i en ny arbetsbok, se skärmdump:

doc kopiera raname efter värde 4

Ladda ner och testa gratis Kutools för Excel nu!


Demo: Kopiera ett kalkylblad flera gånger och byta namn baserat på cellvärden med Kutools för Excel

Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

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 (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your code is what I have been looking for, however the cell contents that I wish to use to rename the sheet is a date. For example, on the first sheet, cell A2 displays a date as Monday 3 April 2017. What I would like to happen is when the next sheet is created by the macro would be to take the date from A2, add 7 to display, for example, "Monday 10 July, 2017" but rename the new sheet in the dd-mm-yy format, so "10-07-17". Is this possible? By the way, I have Kutools for Excel, but this spreasheet will be a blood pressure record for my dad who doesnt have Kutools. Thanks in advance!
This comment was minimized by the moderator on the site
The code below works great. My question is, is it possible to automatically open the new worksheet (based on A1) and delete the content from the previous sheet as it is being used as the template. Sub Copyrenameworksheet() 'Updateby Extendoffice 20160704 Dim ws As Worksheet Set wh = Worksheets(ActiveSheet.Name) ActiveSheet.Copy After:=Worksheets(Sheets.Count) If wh.Range("A1").Value "" Then ActiveSheet.Name = wh.Range("A1").Value End If wh.Activate End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations