Mehrere Excel-Dateien aus einem Verzeichnis einles

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Mehrere Excel-Dateien aus einem Verzeichnis einles
von: D.Pfingst
Geschrieben am: 27.10.2003 14:47:01

Hallo liebes Forum
angenommen in dem Verzeischnis D:\Daten\test
sind mehrere einzelne Excel Tabellen.
z.B. Re0300485.xls
Re0300435.xls

usw.usw bis zu 400-500 Dateien.

Diese möchte ich per VBA-Code aus dem obengenantten Verzeichnis auslesen bzw in eine Gesamttabbele einlesen
Frage 1 Wie geht das?

Frage 2

in jeder dieser einzelnen Datei stehen immer dieselben Informationen in der gleiche Zeile

z.B A1-A12
in A12 z.B. immer ein Datum


Beim einelesen der Dateien in eine Gesamttabelle möchte ich nach datum aufsteigend sortiert haben.
z.B.

RE03004858 02.03.2003
RE03004553 14.05.2003
RE03004112 12.11.2003

usw.usw
Kann mir jemand helfen??

Vielen vielen Dank

mfg
Diethard

Bild


Betrifft: AW: Mehrere Excel-Dateien aus einem Verzeichnis einles
von: Dan
Geschrieben am: 27.10.2003 16:22:16

Hallo Diethard,
versuch es mit diesem Code, startet mit Proc MehrereDateienAuslesen. Pfad musst du aber selber im Code eingeben. Tschuss, Dan (dusek@cb.vakjc.cz)


Option Explicit

Private Const Verz$ = "D:\" ' Daten\test
Private Const BereichZumKopieren$ = "a1 : a12"
Private Const ExLetzteZeile& = 65536
Private Const GesamttabelleName$ = "Gesamttabelle.xls"
Private Gesamttabelle As Workbook

Public

Sub MehrereDateienAuslesen() ' Starting Proc
    Dim Fso As FileSystemObject
    Dim Fld As Folder
    Dim Fl As File, FlNr%
    
    On erro GoTo ErrH
    
    Set Gesamttabelle = Excel.Workbooks.Add
    Gesamttabelle.SaveAs ("Gesamttabelle.xls")
        
    Set Fso = New FileSystemObject
    Set Fld = Fso.GetFolder(Verz$)
    FlNr% = 0
    
    For Each Fl In Fld.Files
        If (Right(Fl.Name, 3) = "xls" And _
            Fl.Name <> GesamttabelleName$) Then FlNr% = FlNr% + 1: Call DateiBeareiten(Fl, FlNr%)
    Next Fl
    
    Application.DisplayAlerts = True
    
    Exit Sub
ErrH:
    MsgBox "Laufzeitsfehler " & Err.Description
    
End Sub


Public

Sub DateiBeareiten(ByVal Datei As File, ByVal DateiNr%)
    Dim WrbAktuell As Workbook, RngZumKop As Range
    Static InZeile&
    
    On Error GoTo ErrH
    
    Set WrbAktuell = Excel.Workbooks.Open(Datei.Path)
    
        ' Daten aus aktuellen Workbook-Sheet1 ins Gesamttabelle kopieren
    Set RngZumKop = WrbAktuell.Worksheets(1).Range(BereichZumKopieren$)
    
    If (DateiNr% = 1) Then InZeile& = 0
    
    If (InZeile& = 0) Then
        RngZumKop.Copy Gesamttabelle.Worksheets(1).Range("a1")
        InZeile& = RngZumKop.Rows.Count + 1
    Else
        If (InZeile& + RngZumKop.Rows.Count <= ExLetzteZeile&) Then
            RngZumKop.Copy Gesamttabelle.Worksheets(1).Cells(InZeile&, 1)
            InZeile& = InZeile& + RngZumKop.Rows.Count
        Else
            MsgBox "Nicht genugend Zeilen. Ende.": End
        End If
    End If
    
    Application.DisplayAlerts = False
    WrbAktuell.Close
    Set WrbAktuell = Nothing
    
    Exit Sub
    
ErrH:
    If (Err.Number = 1004) Then ' Protected Workbook, schlechtes Passw.
        If (MsgBox("Password ist fals, nochmalsversuchen???", vbYesNo + vbCritical) = vbYes) Then
            Resume
        Else
            If (Not WrbAktuell Is Nothing) Then WrbAktuell.Close
            Exit Sub
        End If
    Else
        MsgBox "Laufzeitsfehler " & Err.Description
        If (Not WrbAktuell Is Nothing) Then WrbAktuell.Close
    End If
End Sub



Bild


Betrifft: AW: Mehrere Excel-Dateien aus einem Verzeichnis einles
von: D.Pfingst
Geschrieben am: 27.10.2003 20:08:05

Hallo Dan,
Danke für den Code,
aber beim Ausführen bricht es bei Public ab
mit dem Fehlercode:
Erwartet:Bezeichner


?????
Das Wort Public ist dann rot gekennzeichnet

Kannst Du nochmals schauen bitte


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Mehrere Excel-Dateien aus einem Verzeichnis einles"