Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte aus mehreren Dateien auslesen und addieren!

Werte aus mehreren Dateien auslesen und addieren!
26.10.2017 10:11:04
Sven
Hallo liebe Gemeinde,
ich sitze wieder einmal vor einem Problem.
ich schildere zum Anfang einmal was die Grundlage ist und was geschehen soll.
1. Es gibt mehrere Dateien mit unterschiedlichen Namen (alle .xls), jedoch ist der Aufbau immer der selbige und der Sheet-Name ebenfalls.
2. Die Dateien liegen alle in einem Ordner!
3. Es gibt eine Masterdatei (gleicher Aufbau wie die anderen!)
4. In die Masterdatei sollen nun die Werte innerhalb der Range E15:M115 aus den anderen Dateien in die Masterdatei gechrieben werden, jedoch addiert als eine Summe an die selbe Stelle! -- Das wäre die Hauptfunktion!
5. Die Werte sind alles Zahlen.
Ich hoffe Ihr könnt mir weiterhelfen.
Bei Fragen fragt einfach. ;-)
Gruß Sven
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dafür würde sich auch PowerQuery anbieten ...
26.10.2017 11:18:58
...
Hallo Sven,
... PowerQuery kannst Du Dir von MS kostenfrei downladen und installieren. Zur Anwendung dessen solltest mal etwas googlen.
Gruß Werner
.. , - ...
AW: dafür würde sich auch PowerQuery anbieten ...
26.10.2017 12:34:59
Sven
Hallo Werner,
vielen Dank erst einmal für deine Antwort. Davon habe ich ja noch gar nichts gehört... Es wäre jedoch trotzdem super nett, wenn du/ihr mir einen Ansatz geben könntet in Richtung VBA. Da das Projekt ziemlich zeitnah funktionieren soll und ich das Gefühl habe mit PowerQuery, muss ich mich eine weile beschäftigen.
Gruß Sven
Anzeige
AW: VBA-Lösung gesucht, ...
26.10.2017 13:17:05
...
Hallo Sven,
... aus VBA halte ich mich heraus.
Ich hab den thread wieder als offen gekennzeichnet.
Gruß Werner
.. , - ...
Per VBA würde das...
26.10.2017 13:19:46
Case
Hallo Sven, :-)
... so funktionieren: ;-)
Dateien - Range - Summe...
Entpacke die ZIP-Datei - starte die Haupddatei mit dem Makro - Schaltfläche klicken - Fertig! ;-)
Als Ansatz sollte das genügen. ;-)
Servus
Case

Anzeige
AW: Werte aus mehreren Dateien auslesen und addieren!
26.10.2017 13:43:02
Daniel
Hi
probier mal diesen Code.
Pfad und Tabellenblattnamen müssen ggf angepasst werden.
geöffnet werden alle xls-Dateien im Verzeichnis geöffnet.
Sub Addieren()
Dim Pfad As String
Dim Datei As String
Dim wb As Workbook
Dim rngZiel As Range
Dim Bereich As String
Bereich = "E15:M115"
Set rngZiel = ThisWorkbook.Sheets("Gesamt").Range(Bereich)
rngZiel.ClearContents
Pfad = ThisWorkbook.Path & "\" 'Pfad, in dem die Dateien liegen
Datei = Dir(Pfad & "*.xls")
Do Until Datei = ""
If Datei  ThisWorkbook.Name Then
Set wb = Workbooks.Open(Pfad & Datei)
wb.Sheets("Tabelle1").Range(Bereich).Copy
rngZiel.PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
Application.CutCopyMode = False
wb.Close False
End If
Datei = Dir
Loop
End Sub

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus mehreren Excel-Dateien auslesen und addieren


Schritt-für-Schritt-Anleitung

  1. Vorbereitung:

    • Stelle sicher, dass alle Excel-Dateien (.xls) im gleichen Ordner liegen und die Struktur identisch ist.
  2. Masterdatei erstellen:

    • Öffne eine neue Excel-Datei, die als Masterdatei fungiert. Diese Datei sollte ebenfalls die gleiche Struktur wie die anderen Dateien haben.
  3. VBA-Code eingeben:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
    • Kopiere den folgenden VBA-Code in das Modul:
    Sub Addieren()
       Dim Pfad As String
       Dim Datei As String
       Dim wb As Workbook
       Dim rngZiel As Range
       Dim Bereich As String
       Bereich = "E15:M115"
       Set rngZiel = ThisWorkbook.Sheets("Gesamt").Range(Bereich)
       rngZiel.ClearContents
       Pfad = ThisWorkbook.Path & "\" 'Pfad, in dem die Dateien liegen
       Datei = Dir(Pfad & "*.xls")
       Do Until Datei = ""
           If Datei <> ThisWorkbook.Name Then
               Set wb = Workbooks.Open(Pfad & Datei)
               wb.Sheets("Tabelle1").Range(Bereich).Copy
               rngZiel.PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
               Application.CutCopyMode = False
               wb.Close False
           End If
           Datei = Dir
       Loop
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle das Makro Addieren aus und klicke auf Ausführen.
  5. Ergebnisse überprüfen:

    • Überprüfe die Masterdatei, um sicherzustellen, dass die Werte korrekt addiert wurden.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der Pfad zum Ordner korrekt ist und alle Daten im richtigen Format vorliegen.
  • Fehler: "Makro konnte nicht ausgeführt werden"

    • Überprüfe, ob Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter und aktiviere die Makros.
  • Fehler: Ungültige Referenz auf Blattnamen

    • Achte darauf, dass der Blattname im Code mit dem in den Quelldateien übereinstimmt.

Alternative Methoden

  1. Power Query:

    • Power Query ist eine leistungsstarke Funktion in Excel, die du verwenden kannst, um Daten aus mehreren Dateien zu importieren und zu transformieren. Du kannst es kostenlos von Microsoft herunterladen und installieren.
  2. Daten zusammenführen:

    • Eine weitere Möglichkeit ist, die Daten manuell zusammenzuführen, was jedoch zeitaufwendig sein kann.

Praktische Beispiele

  • Beispiel 1: Angenommen, du hast drei Excel-Dateien mit dem Namen Januar.xls, Februar.xls und März.xls. Alle enthalten Zahlen in der Range E15:M115. Mit dem oben genannten VBA-Code kannst du die Werte in der Masterdatei zusammenfassen.

  • Beispiel 2: Wenn du unterschiedliche Bereiche addieren möchtest, kannst du den Bereich im Code entsprechend anpassen, z.B. Bereich = "A1:B10".


Tipps für Profis

  • Optimierung des Codes:

    • Du kannst den VBA-Code optimieren, indem du Fehlerbehandlungen einfügst, um mögliche Probleme beim Öffnen der Dateien zu vermeiden.
  • Automatisierung:

    • Überlege, das Makro so zu planen, dass es automatisch beim Öffnen der Masterdatei ausgeführt wird. Füge dazu den Code in das Workbook_Open-Ereignis ein.

FAQ: Häufige Fragen

1. Kann ich den VBA-Code auch in Excel 365 verwenden? Ja, der VBA-Code ist in Excel 365 und anderen Versionen kompatibel, die VBA unterstützen.

2. Muss ich die Dateien manuell schließen? Nein, der Code schließt die Dateien automatisch, nachdem die Werte kopiert wurden.

3. Was passiert, wenn eine Datei nicht geöffnet werden kann? Der Code überspringt diese Datei und führt die Verarbeitung mit den anderen Dateien fort.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige