Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus div. Dateien zusammenfassen

Daten aus div. Dateien zusammenfassen
27.12.2020 13:12:52
Suchender_MM
Hallo zusammen,
bin neu in dem Forum, hab es aber schon öfters für Recherchen genutzt und bin auch meist fündig geworden. Nun habe ich aber ein Problem, bei dem ich leider nicht weiter komme. Wahrschinlich kommt es dem einen oder anderen bekannt vor, da auch hier die Problematik schon des Öfteren Thema war, aber mit den bisher bereitgestellten Codes kam ich leider nicht weiter, bzw. konnte sie für meine Zwecke leider nicht passend umschreiben. Meine Vorkenntnisse in VBA sind noch eher dürftig. Bisher konnte ich mit einfachen Makroaufzeichnungen und kleineren Anpassung durchgekommen. Aber ich weiß zumindest wo man die Codes einfügt;-)
Hier meine Aufgabenstellung.
In einem bestimmten Ordner sind bzw. werden unterschiedlich benannten .xlsx Dateien abgelegt. Sie sind alle gleich aufgebaut. In jeder Datei ist ein Tabellenblatt mit dem Namen "Export" enthalten. Die Erste Zeile dieses Tabellenblattes enthält Überschirften und in der Zweiten Zeile sind die dazugehörigen Daten enthalten die ich gerne in einer Gesamtdatei (per Knopfdruck) untereinander auflisten lassen möchte.
Der Pfad wird immer der gleiche sein auf dem dem die zusammenzufassenden Dateien abgelegt werden.
Nach dem Zusammenfassen sollen die ursünglichen Dateien bestehen bleiben.
Hier ist ein einfaches Beispiel der Gesamtdatei:
https://www.herber.de/bbs/user/142585.xlsx
Hier sind zwei Beispieldateien für die Datenherkunft (Export) abgelegt:
https://www.herber.de/bbs/user/142586.xlsx
https://www.herber.de/bbs/user/142587.xlsx
Wäre prima, wenn mir jemand helfen könnte.
Viele Grüße
Suchender_MM

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 13:41:16
Günther
Moin,
für den Import bietet sich dieser Link an: http://www.excel-ist-sexy.de/%ea%9c%9b-daten-in-pq-importieren-%e2%86%92-aus-tabelle-bereich/ und zur Auswertung beispielsweise das hier: http://www.excel-ist-sexy.de/blaetter-einer-arbeitsmappe-mit-power-query-zusammenfassen-1/ (und Folgebeiträge) und vielleicht auch das hier => http://www.excel-ist-sexy.de/tabellenblaetter-zusammenfuehren/ ?
Das sollte reichen. Nur lernen musst du alleine. ;-)
 
Gruß
Günther  |  mein Excel-Blog
Anzeige
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 13:42:55
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub Import_Data()
    
    Const FOLDER_PATH As String = "H:\1227\" ' Anpassen, Backslash am Ende nicht löschen !!!
    
    Dim strFileName As String
    Dim lngRow As Long
    Dim objWorkbook As Workbook, objWorksheet As Worksheet
    
    lngRow = 2
    
    Call Range("A2:F" & CStr(Rows.Count)).ClearContents
    
    strFileName = Dir$(FOLDER_PATH & "*.xlsx")
    
    Do Until strFileName = vbNullString
        
        Set objWorkbook = GetObject(PathName:=FOLDER_PATH & strFileName)
        
        For Each objWorksheet In objWorkbook.Worksheets
            
            If objWorksheet.Name = "Export" Then Exit For
            
        Next
        
        If Not objWorksheet Is Nothing Then
            
            With objWorksheet
                
                Call .Range(.Cells(2, 1), .Cells(.Rows.Count, 6).End(xlUp)).Copy( _
                    Destination:=Cells(lngRow, 1))
                
            End With
        End If
        
        Call objWorkbook.Close(SaveChanges:=False)
        
        lngRow = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        
        strFileName = Dir$
        
    Loop
    
    Set objWorksheet = Nothing
    Set objWorkbook = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 14:44:33
Suchender_MM
Vielen Dank Günther und Nepumuk,
die Variante auf "Excel ist sexy" hatte ich auch gefunden. Leider war ich auch hier nicht in der Lage, den Code auf meine Bedürfnisse umzuschreiben.
Nepumuks Code funktioniert einwandfrei in meinen Musterdateien. Vielen herzlichen Dank.
Hatte leider vergessen in der Muserdatei für die Zusammenfassung einzufügen, dass in den ersten beiden Spalten bereits einträgen sind, die nicht überschrieben werden dürfen. Welche Parameter muss ich dafür anpassen?
Gruß Suchender_MM
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 14:48:25
Nepumuk
Hallo Manuel,
soll dann ab der letzten benutzten Zeile in Spalte A eingefügt werden?
Gruß
Nepumuk
Anzeige
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 15:21:01
Suchender_MM
Hallo Nepumuk,
hab mich vielleicht etwas umständlich ausgedrückt. Habe die Datei Gesamtdatei nochmal entsprechend angepasst.
https://www.herber.de/bbs/user/142592.xlsx
Grüße
Suchender_MM
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 15:28:10
Nepumuk
Hallo Manuel,
dann so:
Option Explicit

Public Sub Import_Data()
    
    Const FOLDER_PATH As String = "H:\1227\" ' Anpassen, Backslash am Ende nicht löschen !!!
    
    Dim strFileName As String
    Dim lngRow As Long
    Dim objWorkbook As Workbook, objWorksheet As Worksheet
    
    lngRow = 2
    
    Call Range("C2:H" & CStr(Rows.Count)).ClearContents
    
    strFileName = Dir$(FOLDER_PATH & "*.xlsx")
    
    Do Until strFileName = vbNullString
        
        Set objWorkbook = GetObject(PathName:=FOLDER_PATH & strFileName)
        
        For Each objWorksheet In objWorkbook.Worksheets
            
            If objWorksheet.Name = "Export" Then Exit For
            
        Next
        
        If Not objWorksheet Is Nothing Then
            
            With objWorksheet
                
                Call .Range(.Cells(2, 1), .Cells(.Rows.Count, 6).End(xlUp)).Copy( _
                    Destination:=Cells(lngRow, 3))
                
            End With
        End If
        
        Call objWorkbook.Close(SaveChanges:=False)
        
        lngRow = Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
        
        strFileName = Dir$
        
    Loop
    
    Set objWorksheet = Nothing
    Set objWorkbook = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus div. Dateien zusammenfassen
27.12.2020 15:47:40
Suchender_MM
Hallo Nepumuk,
vielen Dank für deine Hilfe.
Komme erst morgen dazu den Code auszuprobieren.
Tolles Forum und Klasse Unterstützung.
AW: Daten aus div. Dateien zusammenfassen
28.12.2020 15:21:03
Suchender_MM
Hallo Nepumuk,
hab es ausprobiert. In den Musterdatei klappt es völlig problemlos. In meinen "echten" Dateien habe ich allerdings die Problematik, dass die Daten, die in den Tabellenblättern "Export" stehen, vor allem aus Fomeln mit Bezug auf andere Tabellenblättern und Verkettungen bestehen. Muss ich in den exportierenden Dateien zuvor immer "Inhalte einfügen - Werte" machen oder lässt sich dies auch im Code lösen?
Grüße
Suchender_MM
Anzeige
AW: Daten aus div. Dateien zusammenfassen
28.12.2020 15:34:13
Nepumuk
Hallo Manuel,
na dann so:
Option Explicit

Public Sub Import_Data()
    
    Const FOLDER_PATH As String = "H:\1227\" ' Anpassen, Backslash am Ende nicht löschen !!!
    
    Dim strFileName As String
    Dim lngRow As Long
    Dim objWorkbook As Workbook, objWorksheet As Worksheet
    
    lngRow = 2
    
    Call Range("C2:H" & CStr(Rows.Count)).ClearContents
    
    strFileName = Dir$(FOLDER_PATH & "*.xlsx")
    
    Do Until strFileName = vbNullString
        
        Set objWorkbook = GetObject(PathName:=FOLDER_PATH & strFileName)
        
        For Each objWorksheet In objWorkbook.Worksheets
            
            If objWorksheet.Name = "Export" Then Exit For
            
        Next
        
        If Not objWorksheet Is Nothing Then
            
            With objWorksheet
                
                Call .Range(.Cells(2, 1), .Cells(.Rows.Count, 6).End(xlUp)).Copy
                
            End With
            
            Call Cells(lngRow, 3).PasteSpecial(Paste:=xlPasteValuesAndNumberFormats)
            
        End If
        
        Call objWorkbook.Close(SaveChanges:=False)
        
        lngRow = Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
        
        strFileName = Dir$
        
    Loop
    
    Set objWorksheet = Nothing
    Set objWorkbook = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus div. Dateien zusammenfassen
28.12.2020 15:38:13
Nepumuk
Hallo Manuel,
da fällt mir gerade ein, dass das eventuell eine Meldung von Excel provoziert "Große Datenmenge im Clipboard..."
Füge nach:
Call Cells(lngRow, 3).PasteSpecial(Paste:=xlPasteValuesAndNumberFormats)
noch diese Zeile ein:
Application.CutCopyMode = False
Gruß
Nepumuk
AW: Daten aus div. Dateien zusammenfassen
28.12.2020 15:39:01
Suchender_MM
Hallo Nepumuk,
vielen herzlichen Dank für deine Zeit und Unterstützung. Funktioniert nun einwandfrei und zeigt mir, dass ich noch vieles lernen muss ;-)
Grüße
Suchender_MM

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige