da ich nach langem suchen nicht weiterkomme, hoffe und denke ich, dass mir weitergeholfen werden kann.
Kurz zu meinem Hintergrund: Nachdem ich Excel jahrelang eher zu Erstellung meines Stundenplans an der Uni genutzt habe, arbeite ich seit ca. 2 Jahren etwas intensiver damit und bin begeistert was man mit Formeln und VBA so alles anstellen kann und habe mittlerweile auch einige nützliche Dinge programmieren können.
Allerdings: Das meiste such ich mir aus dem Internet zusammen und passe es meinen Bedürfnissen an und nach etlichen Versuchen klappt es auch wie ich möchte.
Dadurch erschliesst sich mir zwar der Sinn und Zweck von manchem Befehl, aber bei weitem nicht alles.
Soviel dazu, damit man versteht, warum ich zwar einen ganzen Code posten kann, aber nicht selber auf die Lösung komme ;-)
Nun zum konkreten Problem:
Ich habe eine Arbeitsmappe in der ich Daten von Lieferanten aufgelistet habe.
Per Makro lasse ich für jeden Lieferanten ein eigenes Tabellenblatt erstellen, kopiere die Daten dahin, lösche Leerzeilen und richte das Format optimal aus.
Das klappt auch alles.
Der nächste Schritt wäre, dass jedes einzelne Tabellenblatt (mit Ausnahme des Stammtabellenblattes) in eine eigene Arbeitsmappe kopiert wird, diese Arbeitsmappe unter dem Tabellenblattnamen gespeichert und geschlossen wird.
Der Pfad wohin es gespeichert wird, habe ich im Makro hinterlegt.
Was passiert ist nun folgendes: Das erste Tabellenblatt wird korrekt kopiert, die Arbeitsmappe benannt und geschlossen - und das war es.
Irgendwie scheint die Schleife dann abzubrechen und ich verstehe nicht so recht warum.
Ich schätze mal, dass es irgendwie mit dem zählen zusammenhängt, aber nach zig Versuchen das zu beheben bin ich nun ratlos.
Der Code kommt nun anbei und vielen Dank schon mal für die Hilfe.
Bastian
Sub kopieren()
blatt = Array("LF1", "LF2", "LF3", "LF4")
For i = 0 To 3
On Error GoTo ende
Sheets(blatt(i)).Copy
Sheets(blatt(i)).SaveAs Filename:="C:\Test\" & Sheets(blatt(i)).Name & ".xls"
On Error GoTo 0
Next i
ende:
Exit Sub
End Sub