Hallo Albert!
Da Du recht wenig darüber geschrieben hast, wie und an welchen Stellen die ausgelesenen Daten aufgelistet werden sollen, habe ich mich für die Variante entschieden, im Blatt „Auswertung“ in Spalte A den Namen der Datei, aus der die Werte ausgelesen wurden, in Spalte B den Wert aus Zelle B5 und in Spalte C den Wert aus Zelle B33 aufzulisten. Nachfolgendes Makro öffnet alle Exceldateien in einem Verzeichnis, liest die Werte aus Zelle B5 und B33 aus und listet die Daten in der aktuellen Datei im Blatt „Auswertung“ untereinander auf.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.
Option Explicit
Dim objFileSystem As Object
Dim objAnzDateien As Object
Dim objDateityp As Object
Dim wkbQuelle As Object
Dim lngFirstRow As Long
Const strPfad As String = "C:\Temp\"
Sub Prüfung()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
.Cursor = xlWait
.ErrorCheckingOptions.BackgroundChecking = False
End With
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objAnzDateien = objFileSystem.getfolder(strPfad)
For Each objDateityp In objAnzDateien.Files
If Right(objDateityp.Name, 4) = ".xls" Then
Set wkbQuelle = GetObject(objDateityp.Path)
With Sheets("AUSWERTUNG")
lngFirstRow = .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Name der ausgelesenen Datei in Spalte A
.Cells(lngFirstRow, 1) = objDateityp.Name
'Wert aus Zelle B5 in Spalte B auflisten
.Cells(lngFirstRow, 2) = wkbQuelle.Sheets("Erfassung").Range("B5")
'Wert aus Zelle B33 in Spalte C auflisten
.Cells(lngFirstRow, 3) = wkbQuelle.Sheets("Erfassung").Range("B33")
End With
wkbQuelle.Close True
Set wkbQuelle = Nothing
End If
Next
ERRORHANDLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
.Cursor = xlDefault
.ErrorCheckingOptions.BackgroundChecking = True
End With
End SubIn dem Makro musst Du in der Zeile
Const strPfad As String = "C:\Temp\" noch den Namen des Pfades, in dem die Rechnungsdateien liegen, ändern. Dabei aber nicht die Anführungszeichen löschen, der Pfad gehört dazwischen.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]