gerne würde ich mir die manuelle Arbeit sparen und die rund 60 Excel-Einzeldateine in einem Tabellenblatt untereinander stehen haben. Das Format der einzelnen Exceldateien ist identisch. Lediglich die Zeilenanzahl unterscheidet sich.
Kann mir da jemand weiterhelfen? Mit dem VBE bin ich leider nicht so richtig vertraut, da taste ich mich gerade erst ran. Aber vielleicht gibt es ja auch eine andere Lösung. Habt ihr Ideen? Viele Grüße
Hallöchen, Ich glaube nicht, das eine Beispieldatei nötig ist. Im Prinzip kann eine Lösung mit VBA doch so aussehen: Datei öffnen, benutzten Bereich kopieren, in der "Zentrale" unter dem letzten Datensatz einfügen. Da bleiben zwei Fragestellungen. Wie komme ich zu den 60 Dateien? (Das beantwortet mir die Beispieldatei nicht) und haben die Daten Überschriften (das kann man auch ohne Datei beschreiben).
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
um 20 Dateien zu öffnen habe ich schon mal ein Makro geschrieben. Muss mal in meinem Archiv tauchen ....
Zum Kopieren waere es gut zu weissen wieviele Spalten kopiert werden müssen, in welcher Spalte man die letzte Zelle findet (falls es Spalten mit leeren Zellen gibt) und was für einen Text du zwischen den kopierten Zeilen haben willst. Denn bei 60 Tabellen möchtest du doch sicher wissen aus welcher Tabelle der 60 Sheets die Daten stammen. Oder ...?
Ein paar detailierte Informationen von dir waeren dazu sehr hilfreich.
ich bin fündig geworden und habe eine alte Datei mal auf dein Problem umgeschrieben. Beispiel angehangen.
In der Const Anweisung findest du drei Angaben die variabel sind, weil ich nicht genau wusste wie deine Datei aussieht. Const "lzSp", das ist der Buchstabe der Spalte wo ich die LastZell suchen muss. Hier voreingestellt auf Spalte "A" Const EndSpa ist die letzte Spalte die kopiert werden muss. Ich weiss ja nicht wieviel es bei dir sind. Hier Spalte "A" Const Leerzeile fügt zwischen die Blöcke die kopiert wird die Leerzeilen ein, die hier angegeben sind. Bei mir 3 Zeilen
Das Programm enthaelt ein kleines Programm "myDir" aus dem Internet mit dem man Datein aus Ordnern laden kann. Dazu muss in Tabelle2 in Zelle C2 der komplette Pfad angegeben werden. Ich nehme an alle Dateien liegen in einem Ordner???
Sollten es verschiedene Ordner sein muss man jeden Ordner separat laden. Dazu dienen in Tabelle2 die "CheckBoxes" damit du selbst festlegen kannst ob beim laden und kopieren Tabelle1 komplett gelöscht werden soll, oder du Dateien unten anhaengen willst. Probier es mal aus, es wurde auf die schnelle geschrieben, ich hoffe es ist fehlerfrei.
09.08.2016, 18:23 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2016, 18:23 von snb.)
Einfach so:
Code:
sub M_snb() sn=split(createobject("wscript.shell").exec("cmd /c dir ""G:\OF\*.xlsx"" /b/s/a-d").stdout.readall,vbcrlf)
for j=0 to ubound(sn)-1 with getobject(sn(j)) with .sheets(1).usedrange thisworkbook.sheets(1).cells(rows.count,1).end(xlup).offset(1).resize(.rows.count,.columns.count)=.value end with .close 0 end with next End Sub