Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako kopirati list in preimenovati glede na vrednost celice v Excelu?

Običajno lahko uporabite Premakni ali Kopiraj funkcijo za kopiranje delovnega lista in nato ročno vnesite novo ime za kopijo, kot jo potrebujete. Ampak, ali ste kdaj poskusili preimenovati folijo na podlagi celične vrednosti po kopiranju delovnega lista? V tem članku bom govoril o tem, kako samodejno preimenovati delovni list na podlagi vrednosti celice, ko naredite kopijo.

Kopirajte delovni list in preimenujte na podlagi vrednosti celice s kodo VBA

Kopirajte delovni list večkrat in preimenujte na podlagi vrednosti celice s programom Kutools for Excel


Kopirajte delovni list in preimenujte na podlagi vrednosti celice s kodo VBA


Naslednja VBA koda vam lahko pomaga, da kopirate delovni list in ga samodejno preimenujete s posebno vrednostjo celice, storite tako:

1. Aktivirajte delovni list, ki ga želite kopirati, nato pa držite ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Moduli Okno.

VBA koda: kopirajte delovni list in preimenujte s številko celice:

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

3. In nato pritisnite F5 ključ za zagon te kode in vaš trenutni delovni list je bil po vseh delovnih preglednicah kopiran v trenutno delovno knjižico in se preimenuje v vrednost celice, ki ste jo določili. Oglejte si posnetek zaslona:

doc kopiranje ranama po vrednosti 1

Opombe: V zgornji kodi, sklic celice A1 je vrednost celice, ki jo želite preimenovati za novo kopirano listo, lahko jo spremenite v svoje potrebe.


Kopirajte delovni list večkrat in preimenujte na podlagi vrednosti celice s programom Kutools for Excel

Zgornja koda se lahko preimenuje samo z eno vrednostjo celice, če jo morate večkrat kopirati in jih preimenovati na podlagi seznama vrednosti celice, Kutools za ExcelJe Ustvarite delovni list zaporedja vam lahko pomaga, da to nalogo opravite čim prej.

Kutools za Excel : z več kot 300 priročnimi dodatki Excel, lahko brezplačno poskusite brez omejitev v dnevih 60.

Po namestitvi Kutools za Excel, storite naslednje:

1. Kliknite Podjetje > Delovni list > Ustvari delovne liste zaporedja, si oglejte sliko zaslona:

doc kopiranje ranama po vrednosti 2

doc kopiranje ranama po vrednosti 3

2. v Ustvarite delovni list zaporedja pogovorno okno naredite naslednje operacije:

(1.) Izberite ime delovnega lista, ki ga želite kopirati iz Osnovni delovni list spustni seznam;

(2.) Izberite Podatki v možnosti oddaljenosti pod Imena listov na podlagi razdelku in kliknite doc kopiranje ranama po vrednosti 5 gumb, da izberete vrednosti celice, na katere želite preimenovati kopirane delovne liste na podlagi.

Prenesite Kutools za Excel zdaj!

3. Nato kliknite Ok gumb in posebni delovni list so bili večkrat kopirani in preimenovani v vrednosti celic, ki ste jih izbrali v novi delovni zvezki, si oglejte sliko zaslona:

doc kopiranje ranama po vrednosti 4

Prenesite in brezplačno preizkusite Kutools za Excel zdaj!


Demo: večkrat kopirajte delovni list in preimenujte na podlagi vrednosti celice s programom Kutools for Excel

Kutools za Excel: z več kot 200 priročnimi dodatki Excel, lahko brezplačno poskusite brez omejitev v dnevih 60. Prenesite in brezplačno preizkusite zdaj!


Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Phil · 1 years ago
    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!
  • To post as a guest, your comment is unpublished.
    joe · 2 years ago
    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