Hallo,
ich möchte gerne Tabellenblätter automatisch erstellen und beschriften lassen. Die Beschriftung, welche die Tabellenblätter haben sollten, steht in Spalte B der Tabelle 1.
Z.B. in B4 steht der Kunde "HansHermann", dann sollte ein neues Tabellenblatt mit "HansHermann" automatisch erstellt werden.
Ich habe bereits einen Code gefunden, der auf Spalte B zugreift und entsprechend der Anzahl der Kunden neue Tabellenblätter anlegt - jedoch funktioniert die Beschriftung noch nicht.
Toll wäre auch noch wenn der Name des Tabellenblattes (z.B. HansHermann) auch in A2 auftauchen könnte.
Vielleicht wisst ihr hierfür ja eine Lösung
Vielen Dank,
Bon
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
|