Willkommen

Pivottabelle

Spezialfilter

Formeln

Zellformate

Bedingte Formate

Gültigkeit

Programmierung

UDF - Funktionen

Tipps & Tricks

Webabfrage

Fehlersuche

Farbindex

Shortcuts

Limitationen

Downloads

Links

Kontakt

Disclaimer

Impressum

Mehrere Dateien öffnen und Inhalt zusammenführen
In einem Ordner liegen viele Exceldateien mit gleichem Tabellenaufbau aber unterschiedlicher Anzahl Datensätzen . Es sollen nun nacheinander bestimmte oder alle Dateien geöffnet werden, und der Inhalt in einer neuen Datei in einem Tabellenblatt zusammengeführt werden, um beispielsweise mit Formeln Berechnungen durchzuführen oder mit einer Pivottabelle zu arbeiten.
 
Für dieses Beispiel wird von folgendem Tabellenaufbau der Quelldateien ausgegangen:
1. Die Daten stehen auf dem ersten Tabellenblatt.
2. Die Daten beginnen in der ersten Zeile (Spalte A) mit einer Überschrift, der erste Datensatz steht in Zeile 2 usw.
3. Mittels Spalte A wird die Anzahl der Datensätze ermittelt. Es sollte unterhalb des letzten zu kopierenden Datensatzes keine weiteren Daten geben.
 
 
Ein Beispiel für eine Quelldatei:
 
 
Tabelle1
 ABCD
1NameGeschlechtOrt 
2HansmHamburg 
3PetermBremen 
4MartawBerlin 
5    
6    
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
 
 
Der nachfolgende Code gehört in ein "Allgemeines Modul" ( siehe Code auf Forum ) der neuen Zieldatei. Nach Starten des Codes kann über ein Auswahlfenster der gewünschte Ordner geöffnet und eine, mehrere oder alle ( Strg  + a ) Dateien markiert werden. Es werden dann alle ausgewählten Dateien geöffnet und der Inhalt von Spalte A bis Z untereinander gelistet.
 
 
 
 
 
 
 
Der Code für ein allgemeines Modul:
 
 
Public Sub Daten_mehrerer_Dateien_zusammenfuehren()
'Code für ein allgemeines Modul
'********************************
'Autor: Jürgen Hennekes
'********************************
On Error GoTo errExit
Dim WBQ As Workbook
Dim WBZ As Workbook
Dim varDateien As Variant
Dim lngAnzahl As Long
Dim lngLastQ As Long
 
Set WBZ = ActiveWorkbook
'Altdaten auf Zielblatt löschen
WBZ.Worksheets(1).Range("A2:IV65536").ClearContents
 
varDateien = _
Application.GetOpenFilename("Datei (*.xls),*.xls", False, "Bitte gewünschte Datei(en) markieren", False, True)
 
With Application
  .ScreenUpdating = False
  .EnableEvents = False
  .Calculation = xlCalculationManual
End With
 
For lngAnzahl = LBound(varDateien) To UBound(varDateien)
Set WBQ = Workbooks.Open(Filename:=varDateien(lngAnzahl))
  lngLastQ = WBQ.Worksheets(1).Range("A65536").End(xlUp).Row
  WBQ.Worksheets(1).Range("A2:Z" & lngLastQ).Copy _
  Destination:=WBZ.Worksheets(1).Range("A" & WBZ.Worksheets(1).Range("A65536").End(xlUp).Row + 1)
WBQ.Close
Next
 
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
MsgBox "Es wurden " & UBound(varDateien) & " Dateien zusammengefügt.", 64
 
Exit Sub
 
errExit:
With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = xlCalculationAutomatic
End With
 
If Err.Number = 13 Then
MsgBox "Es wurde keine Datei ausgewählt"
  Else
MsgBox "Es ist ein Fehler aufgetreten!" & vbCr _
& "Fehlernummer: " & Err.Number & vbCr _
& "Fehlerbeschreibung: " & Err.Description
End If
 
End Sub