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

Hur skapar jag flera kalkylblad från en lista över cellvärden?

Finns det några snabba eller enkla metoder för oss att skapa flera kalkylblad baserat på en lista över cellvärden i Excel? I den här artikeln kommer jag att prata om några bra knep för att lösa detta jobb.

Skapa flera kalkylblad från en lista över cellvärden med VBA-kod

Skapa flera kalkylblad från en lista över cellvärden med Kutools för Excel


pil blå höger bubbla Skapa flera kalkylblad från en lista över cellvärden med VBA-kod

För att snabbt skapa flera nya kalkylblad som heter med en lista över cellvärden kan följande VBA-kod hjälpa dig.

1. Håll ner 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: Skapa flera kalkylblad från en lista med celler:

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

Anmärkningar: I ovanstående kod, A1: A7 är det cellområde som du vill skapa ark baserat på, ändra det till ditt behov.

3. Tryck sedan på F5 nyckel för att köra den här koden, och de nya arken har skapats efter alla ark i aktuell arbetsbok, se skärmdump:

doc skapa flera ark 1


pil blå höger bubbla Skapa flera kalkylblad från en lista över cellvärden med Kutools för Excel

Om du inte är skicklig med ovanstående kod, här är ett praktiskt verktyg-Kutools för Excel, med dess Skapa sekvensarbetsblad funktion, kommer kalkylbladet att skapas baserat på cellvärdena i en ny arbetsbok.

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:

2. I Skapa sekvensarbetsblad dialog ruta:

(1.) Välj ett kalkylblad som du vill skapa sekvensarbetsblad baserat på;

(2.) Välj sedan Data i ett intervallalternativ från Arknamn baserat på listrutan och klicka doc skapa flera ark 4 för att välja cellvärdena som du vill använda.

doc skapa flera ark 3

3. Och klicka sedan på Ok knapp har kalkylbladet skapats med namnen på cellvärdena i en ny arbetsbok, se skärmdump:

doc skapa flera ark 5

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


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 (16)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Bättre version. Detta kommer att ta bort skapat ark om det finns ett annat ark med samma namn. Och lagt till inmatningsruta för att undvika manuell kodändring för att välja intervall.


Sub AddSheetsFromCells()

Dim xRg As Range, wBk As Workbook
Ställ in wBk = ActiveWorkbook

Vid fel GoTo Quit
Set dbRange = Application.InputBox("Range: ", "Select Range", _
Application.Selection.Address, Type:=8)

Application.ScreenUpdating = False
Application.DisplayAlerts = False

För varje xRg i dbRange
Med wBk
.Sheets.Add After:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = xRg.Value
Om Err.Number = 1004 Då
Debug.Print Chr(34) & xRg.Value & Chr(34) & "används redan som ett arknamn"
.ActiveSheet.Delete
End If
På Fel GoTo 0
Sluta med
Nästa xRg

Application.ScreenUpdating = True
Application.DisplayAlerts = Sant
Sluta med:

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Detta verkar fungera utmärkt för det jag försöker göra med ett undantag... Det skapar tomma kalkylblad... Jag vill skapa en kopia av ett befintligt kalkylblad för varje rad i ett annat kalkylblad. Finns det på något sätt att göra det?
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om jag ville att varje nyskapat ark skulle ha en mall inklistrad från ett mallark? Mallen skulle endast ha formatering och formler

Tack
Denna kommentar minimerades av moderatoren på webbplatsen
jag behöver också veta detta. kom du på?
Denna kommentar minimerades av moderatoren på webbplatsen
Sub UpdateMAPs()
Dim LR As Long, i As Long
Application.ScreenUpdating = False
With Sheets ("Team List")
LR = .Range("E" & Rows.Count).End(xlUp).Row
För i = 2 till LR
Sheets("Blank MAP").Copy Before:=Sheets("Blank MAP")
ActiveSheet.Name = .Range("E" & i).Value
Nästa jag
Sluta med
Application.ScreenUpdating = True
End Sub

detta fungerade för mig från https://www.mrexcel.com/forum/excel-questions/553308-copy-worksheet-rename-cell-value.html
Denna kommentar minimerades av moderatoren på webbplatsen
Det här är otroligt! Tack så mycket!
Denna kommentar minimerades av moderatoren på webbplatsen
det här är fantastiskt...... tack så mycket .finns det någonstans där det finns ett offentligt arkiv för vba-koder?
Denna kommentar minimerades av moderatoren på webbplatsen
och det skapar många ark även om listan är tom... vad händer om jag vill skapa ark baserat på celler som har värde?
Denna kommentar minimerades av moderatoren på webbplatsen
Första gången jag använder VBA-kod i Excel. Fungerade perfekt på första försöket. Tack för att du postade detta.
Denna kommentar minimerades av moderatoren på webbplatsen
Det här fungerar utmärkt, hur kan du infoga en mall i varje skapad flik? dvs kopiera och klistra in från en mall i varje nyskapat ark
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är till stor hjälp. Jag kunde spara så mycket tid. Tack så mycket för din tid och för att du hjälper oss med din underbara kod.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag försökte använda VBA-koden, den skapar "namnlösa" kalkylblad, så sheet1 , 2 , 3 och så vidare, snarare än att använda värdet i cellen som arkets namn. Jag försökte fixa genom att ändra datatypen i cellen till text, samma problem...


några idéer?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag hade det här problemet. för att korrigera: 1. endast 31 tecken tillåtna för kalkylbladsnamn2. inga specialtecken + = ( ) [ ] \ / , : etc...hitta och ersätt med ett mellanslag
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för att du postade detta. Jag följde anvisningarna och det fungerade perfekt.
Denna kommentar minimerades av moderatoren på webbplatsen
Är du en lista? car si j'ajoute des éléments dois-je tout le temps réadapter le code?
tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Lucas
För att lösa ditt problem, använd koden nedan:
Högerklicka på arkfliken och välj Visa kod, kopiera och klistra sedan in koden i Bladkod fönster.
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
Efter att ha klistrat in koden kan du nu ange innehållet i de angivna cellerna och tryck sedan på ange tangenten skapas det nya arket automatiskt.
Gör ett försök, hoppas det kan hjälpa dig!
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