Mehrere Exceldatein zu einer zusammenfassen
#1
Hello World,

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
Top
#2
Hallo JP_12389,

Ohne Beispieldatei und Musterlösung wirst du hier wohl keine vernünfige Antwort bekommen.

Bereite diese vor und lade sie Hier hoch, denn mit diesen Angaben kann dir Niemand helfen.
Top
#3
Hallo,

ein Schuss ins Blaue: RDBMerge
Gruß
Peter
Top
#4
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)
Top
#5
Hallo Jp

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.

mfg  Gast 123
Top
#6
Hallo Ralf

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.

mfg  Gast 123


Angehängte Dateien
.xls   Dateien Öffnen.xls (Größe: 67 KB / Downloads: 5)
Top
#7
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

Nur die directory G:\OF\  anpassen
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste