Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Daten aus alter Excel Datei in eine neue Excel Datei untereinander kopieren?





Frage

Schönen Guten Tag. Wer von euch Gehilfen kann mir helfen? Ich habe mehrere alte Excel Tabellen auf verschieden Excel Dateien (z.B. Beleg1.xls, Beleg2.xls, Beleg3.xls, ...) diese sollen ab Zeile 2 bis 65535 kopiert werden in eine neue Excel Datei (z.B. Zusammen_Beleg1-12.xls) Problem ist wenn ich die Makro in Beleg2.xls starte dann überschreibt er mir natürlich die Eintrage in Zusammen_Beleg1-12.xls die von dem Beleg1.xls kopiert wurden. Diese solte natürlich nicht geschen. Er soll die Einträge schön sauber untereinander Eintragen. Ich brauch eine Suchfunktion die mir die nächste freie Zeile in Zusammen_Beleg1-12.xls ermittelt und dort dann die neuen Einträge weiter führt. Und ich möchte die Makro jedes mal wenn ich eine alte Beleg...xls Datei öffne ausführen. Code: [b] Sub kopieren () Rows("2:65536").Select Application.CutCopyMode = False Selection.Copy Windows("Zusammen_Beleg1-12.xls").Activate Rows("2:65536").Select ActiveSheet.Paste End Sub[/b] Bräuchte das mal wieder so schnell wie möglich Gruß Hell

Antwort 1 von JoeKe

Hi Hell,

schau dir dies mal an vielleicht hilft es dir weiter.
https://supportnet.de/threads/1075447

MfG JöKe

Antwort 2 von Hellchampion

nee du leider nicht weil ich es nicht in der selben datei abspeichern will sondern in einer neuen Excel Datei.

Antwort 3 von Event

Hallo
versuchs mal so :

Sub kopieren ()
Rows("2:65536").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zusammen_Beleg1-12.xls").Activate
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
´->ersetzt durch obige Anweisung´Rows("2:65536").Select
ActiveSheet.Paste
End Sub

Gruß

Antwort 4 von Hellchampion

Leider auch nicht, weil in der Makierten Zeille (dick geschrieben) doch die anweisung steht von Zeile 2 bis 65636 kopieren.

Sub kopieren ()
Rows("2:65536").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Zusammen_Beleg1-12.xls").Activate
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
´->ersetzt durch obige Anweisung´ Rows("2:65536").Select
ActiveSheet.Paste
End Sub

Also frage Steht immer noch offen wer kann mir helfen?

Antwort 5 von JoeKe

Hi Hell,

hast du diese Zeile
Zitat:
´->ersetzt durch obige Anweisung´ Rows("2:65536").Select
mit in dein Code geschrieben.
Las sie mal weg. Dann sollte es funzen.

MfG JöKe

Antwort 6 von Hellchampion

Ja habe ich gemacht aber leider kommen noch mehr fehler

CODE

Sub kopieren()
Rows("2:2000").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Ergebnis.xls").Activate
Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste
End Sub


Das Problem Nr. 1 war ich habe in Spalte A keine Daten. Deshalb hat er es immer überschrieben. Hat immer nach der nechsten freien Zeile in Spalte A gesucht.

Das Problem Nr. 2 wenn ich Rows("2:65535").Select eingetragen habe dann konnte immer nur eine Tabelle kopiert werden. Weil beim zweiten versuch die ganze Tabelle von 65535 Zeillen makiert hatte und versucht hat in die neue Tabelle mit einzufügen. Aber die Neue Tabelle hat ja schon einträge von der Alten bekommen und er hat ja dann die nächste freie Zeile in der Neuen Tabelle gesucht und ermittelt. Die Folge davon war er konnte die alte zweite Tabelle nicht mehr kopieren da die Ziel Tabelle schon beschrieben war und nicht mehr 65535 freie Zeilen hatte. Ist das selbe wenn ich von Zeile 1 bis Zeile 5 Makiere und diese Zeilen dann von Zeile 6 bis Zeile 9 Kopieren will. Diese geht ja nicht weil ihm beim Kopieren dann eine Zeile zuwenig zu verfügung steht.


Noch mal vielen herzlichen dank an alle die mir geholfen haben. Keine angst ich komme wieder

Problem GELÖST

Gruß Hell