Hallo Leute,
ich möchte folgendes machen:
ich habe eine Arbeitsmappe, in der etwa 10 Tabellenblätter sind.
Diese Tabellenblätter möchte ich „ausgliedern“ und separat abspeichern. Nebenbei soll die ursprüngliche Arbeitsmappe beibehalten werden und jedesmal, wenn die separaten Blätter bearbeitet wurden, durch deren Inhalt aktualisiert werden.
Wie läßt sich das am Elegantesten realisieren?
Danke im Voraus für Antwort!
Gruß
Diese Tabellenblätter möchte ich „ausgliedern“ und separat
abspeichern. Nebenbei soll die ursprüngliche Arbeitsmappe
beibehalten werden und jedesmal, wenn die separaten Blätter
bearbeitet wurden, durch deren Inhalt aktualisiert werden.
Wie läßt sich das am Elegantesten realisieren?
Hi Gerrit,
unter http://groups.google.de/groups?q=excel+einzelnes+tab…
findest du ja Anleitungen wie man ein Blatt abspeichert. Entweder manuell oder mit dem dort gefundenenen Code:
Sub KopierenUndSpeichern()
Dim NeuerName
NeuerName = Range(„C5“)
Sheets(„Tabelle1“).Copy
ActiveWorkbook.SaveAs NeuerName
End Sub
ungetestet habe ich den umgeschrieben zu:
Sub KopierenUndSpeichern()
for each blatt in thisworkbook.worksheets
Sheets(blatt.name).Copy
ActiveWorkbook.SaveAs blatt.name
ActiveWorkbook.close
next blatt
End Sub
Den Code in ein Modul packen und einmalig laufen lassen
In DieseArbeitsmappe von jeder der erzeugten Datei dann sowas:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Workbooks(„Name.xls“).Open
Worksheets(ThisWorkbook.Name).UsedRange.Clear
ThisWorkbook.Worksheets(„Tabelle1“).UsedRange.Copy Destination:=Worksheets(ThisWorkbook.Name).Range(„A1“)
Workbooks(„Name.xls“).Close
ThisWorkbook.Close
End Sub
Kannst es ja mal ausprobieren und dich melden wenn es nicht klappt, dann teste/ändere ich/Andere es.
Gruß
Reinhard