Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Mehrere Arbeitsblätter zu einem Zusammenführen

VBA Mehrere Arbeitsblätter zu einem Zusammenführen
20.01.2020 20:56:31
Chris
Hallo Zusammen, ich bräuchte etwas hilfe. Ich komme leider nicht weiter. Ich möchte gerne _ mehrere Arbeitsblätter aus verschiedensten Unterordern zu einem Arbeitsblatt zusammen führen. Die Dateien bekomme ich alle geöffnet, es kopiert mir aber immer den Arbeitsblatt-Inhalt aller Datein in A1 des aktuellen Arbeitsblattes, es soll aber immer am Ende des jeweiligen Datensatzes angehängt werden. zB 1 Blatt auf A1 und 2 Blatt dann ans Ende zB A3.

Sub Vereinigung()
Call ListFilesInFolder("c:\Irgendwas")
End Sub


Sub ListFilesInFolder(SourceFolderName As String)
Dim SourceFolder As Object, SubFolder As Object, nextsheet
Dim Datei$, Pfad$, DateiMatch$
Dim AnfZelle As Range, Wb As Workbook, datensatz As Worksheet, lo As ListObject, mainLO As _
_
ListObject, col As ListRow
Dim counter As Integer
On Error Resume Next
Set SourceFolder = CreateObject("Scripting.FileSystemObject").GetFolder(SourceFolderName)
Set datensatz = Worksheets("Datensatz") 'welches Arbeitsblatt sollen die Daten _
zwischengespeichert werden
Set ergebnis = Worksheets("Ergebnis") 'welches Arbeitsblatt für die Erstellung der Liste
datensatz.Cells.ClearContents 'Zellen im Arbteitsblatt leeren
Dateiname$ = "datenpool.xls" 'Dateinamen
nextsheet = Dir(SourceFolder.Path & "\" & Dateiname$)
counter = 1
Set AnfZelle = datensatz.Range("A" & counter) ' _
aktiven Arb.Mappe
Do While nextsheet ""
Workbooks.Open SourceFolder.Path & "\" & nextsheet
ActiveWorkbook.Worksheets("Sheet1").Range("A1:A6").Copy Destination:=AnfZelle
ActiveWorkbook.Close SaveChanges:=False
nextsheet = Dir()
counter = counter + 1
Loop
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path
Next SubFolder
Set SourceFolder = Nothing
Set SubFolder = Nothing
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Mehrere Arbeitsblätter zu einem Zusammenführen
20.01.2020 21:11:55
ChrisL
Hi Chris
Freihand... (set anfzelle muss in den Loop mit rein)
    counter = 1
Set AnfZelle = datensatz.Range("A" & counter) ' ""
Workbooks.Open SourceFolder.Path & "\" & nextsheet
ActiveWorkbook.Worksheets("Sheet1").Range("A1:A6").Copy Destination:=AnfZelle
ActiveWorkbook.Close SaveChanges:=False
nextsheet = Dir()
counter = counter + 1
Loop
    counter = 1
Do While nextsheet  ""
Set AnfZelle = datensatz.Range("A" & counter) '
cu
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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