Bestimmte Zellen aus mehreren Excel-Dateien auslesen
Schritt-für-Schritt-Anleitung
-
Öffne Excel und erstelle ein neues Arbeitsblatt, in das die Daten übertragen werden sollen.
-
Drücke Alt + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Rechtsklick auf "VBAProject (deine Datei)" > Einfügen > Modul.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub JP()
Dim WB As Workbook
Dim RNG As Range
Dim Pf As String
Dim f As String
Dim r As Integer
Pf = ThisWorkbook.Path
f = Dir(Pf & "\*.xl*") ' Hier kannst du .xls oder .xlsx verwenden
r = 1
Do While Len(f) > 0
Set WB = Workbooks.Open(Pf & "\" & f)
Set RNG = WB.Sheets(1).Range("D1, B8, C18:C29")
Cells(r, 1) = RNG.Areas(1)
Cells(r, 2) = RNG.Areas(2)
Cells(r, 3).Resize(, 12) = Application.Transpose(RNG.Areas(3).Value)
WB.Close SaveChanges:=False
r = r + 1
f = Dir
Loop
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus:
- Drücke
Alt + F8, wähle JP und klicke auf "Ausführen".
Häufige Fehler und Lösungen
-
Fehler: "Datei nicht gefunden"
- Stelle sicher, dass der Pfad zu den Quelldateien korrekt ist. Überprüfe, ob die Dateien tatsächlich im angegebenen Ordner vorhanden sind.
-
Fehler: "GetObject" funktioniert nicht
- Ersetze
Set WB = GetObject(Pf & f) durch Set WB = Workbooks.Open(Pf & "\" & f).
-
Fehler: Ungültiger Zellbereich
- Überprüfe, ob die angegebenen Zellen (D1, B8, C18:C29) in den Quelldateien vorhanden sind.
Alternative Methoden
Wenn Du eine andere Vorgehensweise ausprobieren möchtest, kannst Du auch Power Query verwenden, um Daten aus mehreren Excel-Dateien zu konsolidieren. Dies kann einfach über die Benutzeroberfläche erfolgen und benötigt kein VBA.
- Gehe zu "Daten" > "Daten abrufen" > "Aus Datei" > "Aus Ordner".
- Wähle den Ordner aus, in dem sich die Excel-Dateien befinden.
- Wähle die Dateien aus und lade sie in Excel.
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie Du den oben genannten VBA-Code anpassen kannst, um nur .xlsx-Dateien zu lesen:
f = Dir(Pf & "\*.xlsx")
Wenn Du stattdessen .xls-Dateien auslesen möchtest, ändere den Filter entsprechend:
f = Dir(Pf & "\*.xls")
Tipps für Profis
- Fehlerbehebung: Nutze die Debugging-Funktion in VBA, um Fehler zu identifizieren. Klicke bei einem Fehler auf "Debuggen" und untersuche die Variablen.
- Automatisierung: Du kannst das Makro so anpassen, dass es automatisch bei Öffnung der Arbeitsmappe ausgeführt wird.
- Speichern der Ergebnisse: Überlege, wie Du die Ergebnisse speichern möchtest, z. B. in einer neuen Datei oder in einer Datenbank.
FAQ: Häufige Fragen
1. Kann ich auch .xls-Dateien lesen?
Ja, der Code kann leicht angepasst werden, um .xls-Dateien zu lesen, indem Du den Dateifilter änderst.
2. Wie viele Dateien kann ich gleichzeitig verarbeiten?
Das Makro verarbeitet alle Dateien im angegebenen Ordner, solange sie dem angegebenen Format entsprechen.
3. Was tun, wenn ich eine Fehlermeldung erhalte?
Überprüfe den Code auf Tippfehler und stelle sicher, dass die Quelldateien im richtigen Format vorliegen. Nutze die Debugging-Funktion zur Fehlersuche.