ich habe folgendes Problem, an dem ich verzweifle.
ich habe in Excel ein Registerblatt "Nachweis", dass mit Funktionen, Makros und bestimmten Zellen, Zeilen und Spaltenformatierungen versehen ist.
Aus diesem Registerblatt "Nachweis" heraus werden per Markobutton weitere Registerblätter mit vorgegebenen Registernamen erstellt, die Namen holt sich das Makro aus dem Registerblatt "Personal".
Während die Schleife die Registerblätter generiert und umbenennt, soll auch der Inhalt mit allen Formatierungen des Registerblattes "Nachweis" in die neuen Registerblätter kopiert werden und das ist der Punkt, den ich einfach nicht hinbekomme.
Hier kommt der VBA-Code:
Sub Tabellenblätter_generieren()
Dim Zelle, Bereich As Range
Dim i As Integer
Dim nWS As Worksheet
Dim Bool As Boolean
Sheets("Personal").Select
Set Bereich = Range("F3:F" & Range("F65536").End(xlUp).Row)
For Each Zelle In Bereich
For i = 2 To Worksheets.Count
If Worksheets(i).Name = Zelle.Value Then
Bool = True
Exit For
Else
Bool = False
End If
Next i
If Bool = False Then
Set nWS = Worksheets.Add(after:=Worksheets(Worksheets.Count))
nWS.Name = Zelle.Value
'---- hier der rudimentäre Versuch den Inhalt mit allen
' Formatierungen zu kopieren. Auch Pastespecial
Worksheets("Nachweis").UsedRange.Copy
Worksheets(i).Paste
' hiermit werden leider die Zeilen und Spaltenformate nicht kopiert
' auch Worksheets(i).PasteSpecial Paste:=xlPasteValues oder
' ...PasteSpecial Paste:=xlPasteFormats führen
nur zu einem Fehler 400
'-----
End If
Next Zelle
Sheets("Nachweis").Select
End Sub
Sicherlich ein kleiner Schritt für einen von Euch, ein zu großer für mich. Ich würde mich freuen, wenn mir einer auf die Sprünge helfen könnte.Habe mich auch schon mit dem Makrorecorder dran gemacht um mal zu schauen, wie der die Lösung aufzeichnet.
Sub Inhalte_generieren()
' Inhalte_generieren Makro
Sheets("Nachweis").Select
Cells.Select
Selection.Copy
Sheets("Delf").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
bin aber nicht in der Lage den Code in meinen o.g. Code zu übernehmen. Vielen Dank im Voraus
Jochen