AW: Tabellenblätter automatisch erstellen und benennen
25.02.2015 14:09:23
Bonduca
Ich hab hier noch einen Code gefunden und den etwas angepasst. Dafür habe ich noch ein Tabellenblatt 3 einfügen müssen, das als Kopiervorlage für die anderen Tabellenblätter dient.
Es legt mir zwar die richtige Anzahl an Tabellenblätter an, sie werden aber leider nicht beschriftet. Hat jemand eine Idee?
PS: Ich musste " 'ActiveSheet.Name = CStr(Cells(2, 1))" aus der Berechnung raus nehmen, da ich da immer eine Fehlermeldung bekam. Hat das vielleicht was mit dem Namen zu tun?
Sub Kundenblaetter_anlegen()
Dim rngMuster As Range, calcOld As XlCalculation, zz As Long, ss As Long
Dim Calc As XlCalculation
Calc = Application.Calculation: Beschleuniger xlCalculationManual
Set rngMuster = Sheets("Tabelle3").Columns("A:K")
With Sheets("Tabelle1")
For zz = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
For ss = 2 To Sheets.Count
If Sheets(ss).Name = CStr(.Cells(zz, 2)) Then
MsgBox "Blatt '" & .Cells(zz, 2) & "' bereits vorhanden.", vbInformation
Exit For
End If
Next ss
If ss > Sheets.Count Then
Worksheets.Add after:=Sheets(Sheets.Count)
rngMuster.Copy Cells(1, 1)
Cells(2, 1) = .Cells(zz, 1)
'ActiveSheet.Name = CStr(Cells(2, 1))
End If
Next zz
End With
Beschleuniger Calc
End Sub
' Beschleuniger _______ Parameter: Calc-Status ______ gi/12.03.2006
' Aufruf:
' Dim Calc As XlCalculation
' Calc = Application.Calculation: Beschleuniger xlCalculationManual
' ....Code....
' Beschleuniger Calc
Sub Beschleuniger(Optional StatCal As Long = xlCalculationAutomatic)
With Application
.Calculation = StatCal
.ScreenUpdating = (StatCal xlCalculationManual)
.EnableEvents = (StatCal xlCalculationManual)
End With
End Sub