Moin Forum,
folgende Sitation bereitet mir grade etwas Kopfschmerzen:
Per FSO-Schleife importiere ich sämtliche Daten aller in einem Ordner abgelegten Excel-Dateien in eine Mastertabelle.
Aus mit bisher unbekannten Gründen werden einige Daten jedoch doppelt übernommen.
Hier mein aktueller Code:
Habt Ihr evtl. eine Ahnung (oder Lösung) wo die Ursache für die teils doppelte Datenübernahme liegt?
Vielen Dank im Voraus für Eure Unterstützung
folgende Sitation bereitet mir grade etwas Kopfschmerzen:
Per FSO-Schleife importiere ich sämtliche Daten aller in einem Ordner abgelegten Excel-Dateien in eine Mastertabelle.
Aus mit bisher unbekannten Gründen werden einige Daten jedoch doppelt übernommen.
Hier mein aktueller Code:
Visual Basic-Quellcode
- Const Pfad = "C:\Users\ABC\Desktop\Projekt\" 'Pfad der einzulesenden Dateien
- Sub Daten_auslesen()
- Dim FSO
- Dim Datei
- Dim Ordner
- Dim Col As New Collection
- Dim Element
- Dim WB As Workbook
- On Error Resume Next
- Set FSO = CreateObject("Scripting.Filesystemobject")
- Set Ordner = FSO.getfolder(Pfad)
- 'Bildschirmaktualisierung ausschalten
- With Application
- .ScreenUpdating = False
- .Calculation = xlCalculationManual
- .EnableEvents = False
- End With
- 'Tabellen leeren
- Tabelle1.Columns("A:E").ClearContents
- 'Schleife über alle Dateien im Ordner laufen lassen
- For Each Datei In Ordner.Files
- Select Case LCase(FSO.GetExtensionName(Datei))
- 'Format welches gesucht werden soll
- Case "xlsm"
- 'Alle Excel-Dateien in eine Collection.Die anderen ignorieren.
- Col.Add Datei
- End Select
- Next
- 'Schleife für Datenübernahme
- For Each Element In Col
- 'Quelle bestimmen / öffnen
- Set WB = Workbooks.Open(Element.Path, ReadOnly:=True)
- '=========================================
- 'Bereich 1 auswählen
- WB.Worksheets("Tabelle1").Range("E12:G12" & Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row).Copy
- 'Ablage 1 in Ziel
- ThisWorkbook.Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 'AndNumberFormats
- 'Zwischenspeicher leeren
- Application.CutCopyMode = False
- '=========================================
- 'Quelle schließen ohne zu speichern
- WB.Close SaveChanges:=False
- Next
- 'Bildschirmaktualisierung einschalten
- With Application
- .ScreenUpdating = True
- .Calculation = xlCalculationAutomatic
- .EnableEvents = True
- End With
- End Sub
Habt Ihr evtl. eine Ahnung (oder Lösung) wo die Ursache für die teils doppelte Datenübernahme liegt?
Vielen Dank im Voraus für Eure Unterstützung
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marco123“ ()