Thema Datum  Von Nutzer Rating
Antwort
Rot Mehrere Exceldateien in einer Arbeitsmappe zusammenfassen
10.05.2021 11:08:05 Schweikardt
NotSolved
11.05.2021 07:04:58 ralf_b
NotSolved
11.05.2021 09:04:11 Schweikardt
NotSolved
11.05.2021 11:35:30 Gast46125
NotSolved
14.05.2021 19:57:50 Mase
NotSolved

Ansicht des Beitrags:
Von:
Schweikardt
Datum:
10.05.2021 11:08:05
Views:
339
Rating: Antwort:
  Ja
Thema:
Mehrere Exceldateien in einer Arbeitsmappe zusammenfassen

Hallo Zusammen,

ich würde mich als Anfänger-VBA'ler bezeichnen und kann kleinere Anpassungen teilweise selbst umsetzen.

Aufgabe:

Ich habe 80 Stücklisten die ich in einer Excel-Tabellenblatt (Reiter) zusammen fassen möchte. 
Die meisten Stücklisten haben eine Länge von 90 Zeilen und 14 Spalten.

Folgenden Code habe ich gefunden und leicht auf meine Bedürfnisse angepasst und er funktioniert auch soweit.

Diesen Code:

Option Explicit
' ************************************************************************************************
' Autor/en: http://www.online-vba.de - Marc Wershoven
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von www.online-vba.de!
' Original-Quelltext: www.online-vba.de/vba_datensammeln5.php
' ************************************************************************************************

Sub MWTabellenAusMehrerenDateienEinlesen()
   Dim oTargetSheet As Object
   Dim oSourceBook As Object
   Dim sPfad As String
   Dim sDatei As String
   Dim lErgebnisZeile As Long
   Dim s As Long
   Dim z As Long
  
     Application.ScreenUpdating = False 'Das "Flackern" ausstellen
    
     'Schritt 1: Neues Arbeitsblatt für die Ergebnisse erstellen
     Set oTargetSheet = ActiveWorkbook.Sheets.Add
     lErgebnisZeile = 1 'Ergebnisse eintragen ab Zeile 1
    
     'Schritt 2: Schleife über alle Excel Dateien in einem Verzeichnis
     sPfad = "C:\Users\Schweikardt\Documents\Test\"
     sDatei = Dir(CStr(sPfad & "*.xl*")) 'Alle Excel Dateien
    
     Do While sDatei <> ""
    
         'Schritt 3: öffnen der Datei und Datenübertragung
         Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) 'nur lesend öffnen
        
         'Datenübertragung alle genutzten Zeilen und Spalten
         For z = 1 To oSourceBook.Sheets(1).UsedRange.Rows.Count
             'Keine Leerzeilen verarbeiten
             If Trim(CStr(oSourceBook.Sheets(1).Cells(z, 1).Value)) <> "" Then
                 For s = 1 To oSourceBook.Sheets(1).UsedRange.Columns.Count
                     'Spalte 1 - Dateinamen
                     oTargetSheet.Cells(lErgebnisZeile, 1).Value = sDatei
                     'Spalte 2 bis n - Tabelleninhalte des Arbeitsblattes "Tabelle1"
                     oTargetSheet.Cells(lErgebnisZeile, s + 1).Value = _
                         oSourceBook.Sheets(1).Cells(z, s).Value
                 Next s
                 lErgebnisZeile = lErgebnisZeile + 1
             End If
         Next z
        
         'Schritt 4: Datei wieder zu machen und nächste Schleifenrunde
         oSourceBook.Close False 'nicht speichern
        
         'Nächste Datei
         sDatei = Dir()
     Loop
    
     Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
    
     'Variablen aufräumen
     Set oTargetSheet = Nothing
     Set oSourceBook = Nothing
End Sub

Allerdings bekomme ich ständig die Fehlermeldung "Overflow" und selbst die Reduzierung auf 10 Stücklisten hat nichts gebracht.
Kann man irgendwie die Klasse wechseln oder Zwischenspeichern, um diesen "Overflow" Fehler zu beheben?

 

Vielen Dank schon einmal.

 

Grüße
Matthias


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Mehrere Exceldateien in einer Arbeitsmappe zusammenfassen
10.05.2021 11:08:05 Schweikardt
NotSolved
11.05.2021 07:04:58 ralf_b
NotSolved
11.05.2021 09:04:11 Schweikardt
NotSolved
11.05.2021 11:35:30 Gast46125
NotSolved
14.05.2021 19:57:50 Mase
NotSolved