Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
280to284
280to284
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zusammenführen mehrerer Excel Dateien

Zusammenführen mehrerer Excel Dateien
15.07.2003 09:39:37
Stefan Kämmerer
Im Rahmen einer abteilungsübergreifenden Auswertung werde ich mehrere gleichartig aufgebaute Excel Dateien erhalten. Wie kann ich diese in einer "Auswertungs"-Datei zusammenführen. Im Idealfall als Verknüpfung.

Danke und Gruß
Stefan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zusammenführen mehrerer Excel Dateien
15.07.2003 09:54:57
Bernd Held
Hallo Stefan,

sowas in der Art, musst eben auf Deine Umgebung anpassen..

Sub EinlesenDateienInEineGesamtTabelle()
Dim i_Zeile As Integer
Dim i_Datei As Integer
Dim s_Mappe As String
Dim s_Tabelle As String
Dim i_Satzzähler As Integer
Dim s_Monat As String

s_Mappe = ThisWorkbook.Name
s_Tabelle = "Zusammenfassung"

With Workbooks(s_Mappe).Sheets(s_Tabelle)
.Cells(1, 1).Value = "Datum"
.Cells(1, 2).Value = "Umsatz"
.Cells(1, 3).Value = "Region"
.Cells(1, 4).Value = "Monat"
End With

i_Zeile = 2
Application.ScreenUpdating = False

'Eingabedateien ermitteln
With Application.FileSearch
    .Filename = "*.xls"
    .LookIn = "D:\Test\"
    .SearchSubFolders = False
    .Execute
    For i_Datei = 1 To .FoundFiles.Count
        Workbooks.Open (.FoundFiles(i_Datei))
         'Monat ermitteln
        If InStr(ActiveWorkbook.Name, "Jan") > 0 Then s_Monat = "Januar"
        If InStr(ActiveWorkbook.Name, "Feb") > 0 Then s_Monat = "Februar"
        If InStr(ActiveWorkbook.Name, "Mär") > 0 Then s_Monat = "März"
        If InStr(ActiveWorkbook.Name, "Apr") > 0 Then s_Monat = "April"
        If InStr(ActiveWorkbook.Name, "Jun") > 0 Then s_Monat = "Juni"
        If InStr(ActiveWorkbook.Name, "Jul") > 0 Then s_Monat = "Juli"
        If InStr(ActiveWorkbook.Name, "Aug") > 0 Then s_Monat = "August"
        If InStr(ActiveWorkbook.Name, "Sep") > 0 Then s_Monat = "September"
        If InStr(ActiveWorkbook.Name, "Okt") > 0 Then s_Monat = "Oktober"
        If InStr(ActiveWorkbook.Name, "Nov") > 0 Then s_Monat = "November"
        If InStr(ActiveWorkbook.Name, "Dez") > 0 Then s_Monat = "Dezember"
         
         'Einzelne Sätze übertragen
         For i_Satzzähler = 2 To ActiveSheet.UsedRange.Rows.Count
         With Workbooks(s_Mappe).Sheets(s_Tabelle)
           .Cells(i_Zeile, 1).Value = ActiveSheet.Cells(i_Satzzähler, 1).Value
           .Cells(i_Zeile, 2).Value = ActiveSheet.Cells(i_Satzzähler, 2).Value
           .Cells(i_Zeile, 3).Value = Left(ActiveWorkbook.Name, 1)
           .Cells(i_Zeile, 4).Value = s_Monat
         End With
           i_Zeile = i_Zeile + 1
         Next i_Satzzähler
         ActiveWorkbook.Close
    Next i_Datei
 End With
 'Nach Datum sortieren
  Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
 Application.ScreenUpdating = True
End Sub
     Code eingefügt mit Syntaxhighlighter 1.14



Viele Grüße
Bernd
MVP für Microsoft Excel
Excel-Tipps, VBA-Bücher mit Leseproben(PDF), VBA-Forum und VBA-Schulungen unter: http://held-office.de



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige