Hallo Experten,
habe ein nicht ganz unkompliziertes Problem beim Übertragen eines Excel Arbeitsblatt in eine neue Datei:
Mein Arbeitsblatt enthält Textfelder, Grafiken, ausgefüllte Zellen (incl. Formeln) und ein Diagramm.
Nach Klick auf einen Button soll das gesamte Arbeitsblatt, jedoch OHNE dahintersteckenden VBA-Code, entweder in eine neue Datei oder in eine schon vorhanden Datei als neues Blatt kopiert werden.
Mache ich das über die Cells.Copy-Methode werden nur Zellen und nicht Textfelder, Grafiken usw. übertragen.
Wenn ich die ActiveSheet.Copy-Methode verwende, wird der VBA-Code auch übertragen.
Vielleicht hat jemand von Euch eine Lösung für mein Problem…
Vielen Dank jedenfalls schonmal.
Gruß Thomas
Mache ich das über die Cells.Copy-Methode werden nur Zellen
und nicht Textfelder, Grafiken usw. übertragen.
Wenn ich die ActiveSheet.Copy-Methode verwende, wird der
VBA-Code auch übertragen.
Hi Thomas,
Sub ttt()
ActiveSheet.Copy
With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Worksheets(ActiveSheet.Name).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End Sub
Gruß
Reinhard
Hi Thomas,
Sub ttt()
ActiveSheet.Copy
With
ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Worksheets(ActiveSheet.Name).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End Sub
Gruß
Reinhard
Hallo Reinhard,
vielen Dank, das funktioniert schonmal. Sehr gut!!!
Vielleicht kannst Du mir auch im nächsten Schritt behilflich sein…
Meine neue Datei wird im gleichen Verzeichnis unter einem Namen abgespeichert, der sich in einem Textfeld in der Tabelle befindet. Das funktioniert auch so weit.
Nun möchte ich allerdings vorher eine Abfrage programmieren, die Überprüft, ob eine Datei mit diesem Namen bereits vorhanden ist. Wenn ja soll er sie öffnen und das Tabellenblatt als neues Blatt in diese Datei einfügen. Falls sie noch nicht vorhanden ist, soll er sie erstellen.
Leider habe ich dieses Problem noch nicht lösen können.
Herzlichen Dank für Deine Mühe und Zeit, die Du in dieses Forum investierst.
Gruß
Thomas