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

Cum se creează mai multe foi de lucru dintr-o listă de valori ale celulei?

Există metode rapide sau ușoare pentru a crea mai multe foi de lucru pe baza unei liste de valori ale celulei în Excel? În acest articol, voi vorbi despre câteva trucuri bune pentru a rezolva această treabă.

Creați mai multe foi de lucru dintr-o listă de valori ale celulei cu cod VBA

Creați mai multe foi de lucru dintr-o listă de valori ale celulei cu Kutools pentru Excel


săgeată albastru dreapta balon Creați mai multe foi de lucru dintr-o listă de valori ale celulei cu cod VBA

Pentru a crea rapid mai multe foi de lucru noi, denumite cu o listă de valori ale celulei, următorul cod VBA vă poate ajuta.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: creați mai multe foi de lucru dintr-o listă de celule:

Sub AddSheets()
'Updateby Extendoffice
    Dim xRg As Excel.Range
    Dim wSh As Excel.Worksheet
    Dim wBk As Excel.Workbook
    Set wSh = ActiveSheet
    Set wBk = ActiveWorkbook
    Application.ScreenUpdating = False
    For Each xRg In wSh.Range("A1:A7")
        With wBk
            .Sheets.Add after:=.Sheets(.Sheets.Count)
            On Error Resume Next
            ActiveSheet.Name = xRg.Value
            If Err.Number = 1004 Then
              Debug.Print xRg.Value & " already used as a sheet name"
            End If
            On Error GoTo 0
        End With
    Next xRg
    Application.ScreenUpdating = True
End Sub

notițe: În codul de mai sus, A1: A7 este gama de celule pe care doriți să creați foi bazate pe, vă rugăm să o modificați în funcție de nevoile dvs.

3. Apoi apăsați F5 tasta pentru a rula acest cod, iar noile foi au fost create după toate foile din registrul de lucru curent, consultați captura de ecran:

doc creați mai multe foi 1


săgeată albastru dreapta balon Creați mai multe foi de lucru dintr-o listă de valori ale celulei cu Kutools pentru Excel

Dacă nu sunteți priceput cu codul de mai sus, iată un instrument la îndemână-Kutools pentru Excel, Cu său Creați foi de lucru pentru secvențe funcția, foile de lucru vor fi create pe baza valorilor celulei dintr-un nou registru de lucru.

Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile. 

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Clic Kutools Plus > Fisa de lucru > Creați foi de lucru pentru secvențe, vezi captura de ecran:

2. În Creați foi de lucru pentru secvențe căsuță de dialog:

(1.) Selectați o foaie de lucru pe care doriți să creați foi de lucru pe secvență;

(2.) Apoi selectați Date într-o opțiune de gamă din Numele foilor pe baza casetă de listă și faceți clic pe doc creați mai multe foi 4 pentru a selecta valorile celulei pe care doriți să le utilizați.

doc creați mai multe foi 3

3. Apoi faceți clic pe Ok butonul, foile de lucru au fost create cu numele valorilor celulei într-un nou registru de lucru, consultați captura de ecran:

doc creați mai multe foi 5

Faceți clic pe Descărcare și încercare gratuită Kutools pentru Excel acum!


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (16)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Versiune mai bună. Aceasta va șterge foaia creată dacă există o altă foaie cu același nume. Și a adăugat caseta de intrare pentru a evita modificarea manuală a codului pentru a selecta intervalul.


Sub AddSheetsFromCells()

Dim xRg As Range, wBk As Workbook
Setați wBk = ActiveWorkbook

La eroare GoTo Quit
Set dbRange = Application.InputBox("Range: ", "Select Range", _
Aplicație.Selectare.Adresă, Tip:=8)

Application.ScreenUpdating = Fals
Application.DisplayAlerts = Fals

Pentru fiecare xRg din dbRange
Cu wBk
.Sheets.Add After:=.Sheets(.Sheets.Count)
La data de eroare CV următoare
ActiveSheet.Name = xRg.Value
Dacă Err.Number = 1004 Atunci
Debug.Print Chr(34) & xRg.Value & Chr(34) & „utilizat deja ca nume de foaie”
.ActiveSheet.Delete
Final, dacă
La eroare GoTo 0
Se termina cu
Următorul xRg

Application.ScreenUpdating = Adevărat
Application.DisplayAlerts = Adevărat
Părăsi:

End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru pare să funcționeze excelent pentru ceea ce încerc să fac, cu o singură excepție... Este crearea de foi de lucru goale... Vreau să creez o copie a unei foi de lucru existente pentru fiecare rând dintr-o altă foaie de lucru. Există vreo modalitate de a face asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce se întâmplă dacă aș vrea ca fiecare foaie nou creată să aibă un șablon lipit într-o foaie de șablon? Șablonul ar avea doar formatare și formule

mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
trebuie sa stiu si asta. ti-ai dat seama?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sub UpdateMAP-uri()
Dim LR As Long, i As Long
Application.ScreenUpdating = Fals
Cu foi („Lista echipelor”)
LR = .Range("E" & Rows.Count).End(xlUp).Row
Pentru i = 2 La LR
Sheets("Blank MAP").Copy Before:=Sheets("Blank MAP")
ActiveSheet.Name = .Range(„E” & i).Valoare
Apoi eu
Se termina cu
Application.ScreenUpdating = Adevărat
End Sub

asta a funcționat pentru mine de la https://www.mrexcel.com/forum/excel-questions/553308-copy-worksheet-rename-cell-value.html
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru este uimitor! Mulțumesc foarte mult!
Acest comentariu a fost redus la minimum de moderatorul de pe site
asta este minunat...... mulțumesc foarte mult. Există undeva unde există un depozit public pentru codurile vba?
Acest comentariu a fost redus la minimum de moderatorul de pe site
și creează o mulțime de foi chiar dacă lista este goală... ce se întâmplă dacă vreau să creez foi pe baza celulelor care au valoare?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Prima dată când folosești codul VBA în Excel. A funcționat perfect la prima încercare. Mulțumesc pentru postarea asta.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Funcționează excelent, cum ați putea încorpora un șablon în fiecare filă creată? adică copiați și lipiți dintr-un șablon în fiecare foaie nou creată
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru este de mare ajutor. Aș putea economisi atât de mult timp. Vă mulțumim foarte mult pentru timpul acordat și pentru că ne-ați ajutat cu codul dumneavoastră minunat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am încercat să folosesc codul VBA, creează foi de lucru „fără nume”, deci sheet1 , 2 , 3 și așa mai departe, în loc să folosesc valoarea din celulă ca nume al foii. Am încercat să rezolv schimbând tipul de date din celulă în text, aceeași problemă...


vreo idee?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am avut problema asta. pentru a corecta: 1. numai 31 de caractere permise pentru numele foilor de lucru2. fără caractere speciale + = ( ) [ ] \ / , : etc... găsiți și înlocuiți cu un spațiu
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumesc că ați postat asta. Am urmat instructiunile si a mers perfect.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Et si la liste est mouvante? car si j'ajoute des éléments dois-je tout le temps réadapter le code?
mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Lucas
Pentru a vă rezolva problema, vă rugăm să aplicați codul de mai jos:
Faceți clic dreapta pe fila foii și selectați Afișați codul, apoi copiați și inserați codul în Cod Foaie fereastră.
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Excel.Range
    Dim wSh As Excel.Worksheet
    Dim wBk As Excel.Workbook
    Dim xAddress As String
    Dim xWSH As Worksheet
    Dim xRgI As Range
    Set wSh = ActiveSheet
    Set wBk = ActiveWorkbook
    xAddress = "A2:A20"
    On Error Resume Next
    Set xRgI = Intersect(Range(xAddress), Target)
    If xRgI Is Nothing Then Exit Sub
    If Target.Value = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xWSH = wBk.Worksheets.Item(Target.Value)
    If xWSH Is Nothing Then
      Set xWSH = wBk.Worksheets.Add
        xWSH.Name = Target.Value
        If Err.Number = 1004 Then
            Debug.Print xRg.Value & " already used as a sheet name"
        End If
    End If
    wSh.Activate
    Application.ScreenUpdating = True
End Sub

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-sheets-from-cells.png
După ce lipiți codul, acum puteți introduce conținutul în celulele specificate, apoi apăsați Intrați tasta, noua foaie va fi creată automat.
Vă rugăm să încercați, sper că vă poate ajuta!
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL