Tabellenblätter automatisch anlegen aus Liste
#1
Hallo  :68:

ich möchte aus einer Liste von Werten zu jedem Wert ein Tabellenblatt automatisch anlegen lassen. Hierzu habe ich schon diesen tollen Code gefunden.

Zitat:Sub Tabellenblaetter()

    Dim Wb As Workbook: Set Wb = ThisWorkbook
    Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Investliste")
    Dim c As Range
    
    Application.ScreenUpdating = False
    With Ws
        For Each c In .Range("C1:C" & .Cells(.Rows.Count, "C").End(xlUp).Row)
            If Not ExistiertBlattX(c.Text) Then
                Wb.Worksheets(1).Copy after:=Wb.Worksheets(Wb.Worksheets.Count)
                ActiveSheet.Name = c.Text
            End If
        Next c
        .Activate
    End With
    Set Wb = Nothing: Set Ws = Nothing: Set c = Nothing
End Sub

Function ExistiertBlattX(BlattName$, Optional MappeName$) As Boolean
    Dim Wb As Workbook, Ws As Worksheet
    ExistiertBlattX = False
    If MappeName = "" Then
        Set Wb = ActiveWorkbook
    Else: Set Wb = Workbooks(MappeName)
    End If
    For Each Ws In Wb.Worksheets
        If Ws.Name = BlattName Then
            ExistiertBlattX = True
            Exit For
        End If
    Next Ws
    Set Wb = Nothing: Set Ws = Nothing
End Function

Meine Frage: Ich möchte das immer als Kopiervorlage das Tabellenblatt "Muster" verwendet werden soll. Was müsste man am Code hierfür anpassen?


Danke für die Erleuchtung.

Liebste Grüße  :21:
Top
#2
War ganz einfach ...  :20:

Man muss einfach nur die Nummer oder den Namen in "" des Tabellenblatts eingeben ...

Wb.Worksheets(2).Copy after:=Wb.Worksheets(Wb.Worksheets.Count)

z. B. die 2, wenn immer das zweite Blatt verwendet werden soll. 
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste