Office: (Office 2016) Dateien zusammenführen

Helfe beim Thema Dateien zusammenführen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Datenlieferant ist ein mittelgroßes deutsches Unternehmen dass die Geräte in Deutschland entwickelt und baut. Ich habe auch keine Chance an bessere... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von daBrain, 28. Februar 2026 um 23:09 Uhr.

  1. daBrain hat Ahnung

    Dateien zusammenführen


    Datenlieferant ist ein mittelgroßes deutsches Unternehmen dass die Geräte in Deutschland entwickelt und baut.
    Ich habe auch keine Chance an bessere Daten zu kommen, muss schon froh sein das zu haben.
    Von dort kommen idR sogar die pdfs geschützt. Man kann nicht mal eine Artikelnr. aus dem pdf-Ersatzteilkatalog rauskopieren (um Tippfehler zu vermeiden) weil das gesperrt ist.
    Kann nicht nachvollziehen wem das einfällt.

    Hier der Code, ich habe da nichts geändert außer Angabe des korrekten Pfads (und den habe ich nicht im Code geändert sondern die Verknüpfung angepasst:

    let
    Quelle = Folder.Files("Y:\Lieferanten & Hersteller\xxx\Ersatzteilpreislisten\2026\Original"),
    #"Text in Kleinbuchstaben" = Table.TransformColumns(Quelle,{{"Extension", Text.Lower, type text}}),
    Auswahl = Table.SelectRows(#"Text in Kleinbuchstaben", each ([Name] = "26_Typ1.xlsx" or [Name] = "26_Typ2.xlsx" or [Name] = "26_Typ3.xlsx")),
    ContentZuTabelle = Table.FromList(Auswahl[Content], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    AddIndex = Table.AddIndexColumn(ContentZuTabelle, "Index", 0, 1, Int64.Type),
    AddColDateinamen = Table.AddColumn(AddIndex, "Pfad", each Auswahl[Folder Path]{[Index]} & Auswahl[Name]{[Index]}),
    Dateien = Table.AddColumn(AddColDateinamen, "Datei", each Auswahl[Name]{[Index]}, type text),
    AddColAlleQuelltables = Table.AddColumn(Dateien, "AlleQuellen", each Excel.Workbook(File.Contents([Pfad] ),null,true)),
    #"Erweiterte AlleQuellen" = Table.ExpandTableColumn(AddColAlleQuelltables, "AlleQuellen", {"Name", "Data", "Item", "Kind"}, {"Name", "Data", "Item", "Kind"}),
    AnzCol = Table.ColumnCount(#"Erweiterte AlleQuellen"[Data]{0}),
    OldNams = Table.ColumnNames( #"Erweiterte AlleQuellen"[Data]{0}),
    NewNames = {Character.FromNumber(65)..Character.FromNumber(AnzCol +64)},
    #"Erweiterte Data" = Table.ExpandTableColumn(#"Erweiterte AlleQuellen", "Data", OldNams, NewNames),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte Data",{"Column1", "Index", "Pfad", "A", "B", "D", "E", "G", "H", "J", "K", "L", "Item", "Kind"}),
    #"Entfernte oberste Zeilen" = Table.Skip(#"Entfernte Spalten",5),
    #"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte oberste Zeilen", [PromoteAllScalars=true]),
    #"Gefilterte Zeilen" = Table.SelectRows(#"Höher gestufte Header", each ([#"SAP-Benennung"] <> null and [#"SAP-Benennung"] <> "" and [#"SAP-Benennung"] <> "SAP-Benennung") and ([#"Artikel-Nr."] <> "gültig ab/valid from")),
    #"Umbenannte Spalten" = Table.RenameColumns(#"Gefilterte Zeilen",{{"26_Typ1.xlsx", "Datei"}, {"Typ1asd", "Datenquelle"}}),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Umbenannte Spalten",{{"Euro/St.", Currency.Type}, {"Artikel-Nr.", type text}})
    in
    #"Geänderter Typ"

    Ich habe mir nicht alle 46 Dateien im Detail durchgesehen, muss ich gestehen. Arbeite aber regelmäßig mit einem Teil davon und die hatten bis jetzt alle den identen Aufbau.

    In einer Mappe habe ich eben unten eingefügte Grafiken gefunden, kann dass der Grund sein?

    Excel sprang direkt zum Nachfolgeschritt als Fehlerquelle, deine Vermutung wird also passen. Ich wollte das Anfangs auch so schreiben, allerdings ist mir dann aufgefallen dass bei Erweiterte AlleQuellen noch kein Fehler vorhanden ist, bei OldNams dann schon.
    Kann ich irgendwo ersehen bei welcher Datei der Fehler auftritt?
     
  2. OilMax Erfahrener User
    Hallo,

    hier noch mal der Satz, der für eine Problemlösung essentiell ist um dir weiterzuhelfen:

    Umsetzbar ist es, aber eben aufwendig. Das wird nur jemand anfassen, wenn im Vorfeld alles geklärt ist was von Nöten ist. Es wird niemand Lust haben ein paar Mal von vorn anzufangen.

    Gruß Uwe
     
  3. R J
    R J hat Ahnung
    Kopier mal diesen Code und ersetze mal folgende Schritte des Originals:

    Code:
      
    AnzCol = Table.ColumnCount(#"Erweiterte AlleQuellen"[Data]{0}),
        OldNams = Table.ColumnNames( #"Erweiterte AlleQuellen"[Data]{0}),
        NewNames = {Character.FromNumber(65)..Character.FromNumber(AnzCol +64)},
        #"Erweiterte Data" = Table.ExpandTableColumn(#"Erweiterte AlleQuellen", "Data", OldNams, NewNames),
        #"Entfernte Spalten"  = Table.SelectColumns(#"Erweiterte Data",{"Datei", "Name", "C", "F", "I"}),
        #"Entfernte oberste Zeilen" = Table.Skip(#"Entfernte Spalten",5),
    Den Rest lassen wie es ist.

    Hier hab ich im Schritt #"Entfernte Spalten" nicht die nichtbenötigten Spalten entfernt, sondern die notwendigen behalten und den Schrittnamen geändert. Das muss im Folgeschritt beachtet werden.
    Die Änderung bewirkt, dass evtl. weniger Spalten in den Dateien möglich sind. Bis Spalte I sollten sie aber wenigstens gehen.

    Wenn Du sonst nichts geändert hast, nicht mal die Dateiauswahl, ist nicht nachvollziehbar, warum Du einen Fehler bekommst.
    Zumal dann, wenn die geposteten Dateien denen in Deinem angegebenem Pfad gleichen.
    Da es bei mir keine Probleme gibt, kann ich also nur raten, was bei Dir anders ist, doch mit raten kommt man nicht weit. Das könnte sich zu einer never ending Story entwickeln. Darauf hab ich aber keine Lust. Gibts die Möglichkeit, sich das mal mit TeamViewer anzusehen? Falls nicht, dann ziehe ich mich zurück.

    Die _xlnm.Print_Area sind Deine Druckbereiche. Die kannst Du im Schritt Erweiterte AlleQuellen in der Spalte Kind rausfiltern, indem Du DefinedName abwählst.
     
    Zuletzt bearbeitet: 1. März 2026 um 21:17 Uhr
  4. R J
    R J hat Ahnung

    Dateien zusammenführen

    ...15 Min vorbei, kann den Post oben nicht mehr bearbeiten.

    Hab mir das nochmal angesehen. Du hast tatsächlich unterschiedlich viele Spalten in den Dateien. Da aber die letzte Spalte, die Du brauchst die Spalte I ist, kannst Du AnzCol direkt auf 9 (A;B;C;D;E;F;G;H;I) setzen. Alle nachfolgenden Spalten werden dadurch ignoriert. Hab die Druckbereiche rausgenommen...

    Neuer Code:
    Code:
    let
        Quelle = Folder.Files("C:\Users\User\Downloads"),
        #"Text in Kleinbuchstaben" = Table.TransformColumns(Quelle,{{"Extension", Text.Lower, type text}}),
        Auswahl = Table.SelectRows(#"Text in Kleinbuchstaben", each ([Name] = "26_Typ1.xlsx" or [Name] = "26_Typ2.xlsx" or [Name] = "26_Typ3.xlsx")),
        ContentZuTabelle = Table.FromList(Auswahl[Content], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        AddIndex = Table.AddIndexColumn(ContentZuTabelle, "Index", 0, 1, Int64.Type),
        AddColDateinamen = Table.AddColumn(AddIndex, "Pfad", each Auswahl[Folder Path]{[Index]} & Auswahl[Name]{[Index]}),
        Dateien = Table.AddColumn(AddColDateinamen, "Datei", each  Auswahl[Name]{[Index]}, type text),
        AddColAlleQuelltables = Table.AddColumn(Dateien, "AlleQuellen", each Excel.Workbook(File.Contents([Pfad] ),null,true)),
        #"Erweiterte AlleQuellen" = Table.ExpandTableColumn(AddColAlleQuelltables, "AlleQuellen", {"Name", "Data", "Item", "Kind"}, {"Name", "Data", "Item", "Kind"}),
        AnzCol = 9,//Table.ColumnCount(#"Erweiterte AlleQuellen"[Data]{0}),
        OldNams = Table.ColumnNames( #"Erweiterte AlleQuellen"[Data]{0}),
        #"Beibehaltene erste Elemente" = List.FirstN(OldNams,AnzCol),
        NewNames = {Character.FromNumber(65)..Character.FromNumber(AnzCol +64)},
        #"Erweiterte Data" = Table.ExpandTableColumn(#"Erweiterte AlleQuellen", "Data", #"Beibehaltene erste Elemente", NewNames),
        #"Entfernte Spalten"  = Table.SelectColumns(#"Erweiterte Data",{"Datei", "Name", "C", "F", "I"}),
        #"Entfernte oberste Zeilen" = Table.Skip(#"Entfernte Spalten",5),
        #"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte oberste Zeilen", [PromoteAllScalars=true]),
        #"Gefilterte Zeilen" = Table.SelectRows(#"Höher gestufte Header", each ([#"SAP-Benennung"] <> null and [#"SAP-Benennung"] <> "" and [#"SAP-Benennung"] <> "SAP-Benennung") and ([#"Artikel-Nr."] <> "gültig ab/valid from")),
        #"Umbenannte Spalten" = Table.RenameColumns(#"Gefilterte Zeilen",{{"26_Typ1.xlsx", "Datei"}, {"Typ1asd", "Datenquelle"}}),
        #"Geänderter Typ" = Table.TransformColumnTypes(#"Umbenannte Spalten",{{"Euro/St.", Currency.Type}, {"Artikel-Nr.", type text}})
    in
        #"Geänderter Typ"
    Kannst die ja mal fragen, ob sie meine Hilfe brauchen um deren Datenchaos zu beseitigen. Da sitzen offenbar noch Leute, die seit 1536 (damals im Kopierraum von Klöstern, heute im Office) fleissig arbeiten. Und Hilfe können die ganz dringend brauchen! Immerhin haben sie inzwischen den Federkiel durch einen PC ersetzt...Dateien zusammenführen *:)*
     
    Zuletzt bearbeitet: 1. März 2026 um 21:59 Uhr
  5. daBrain hat Ahnung
    Der Fehler liegt vermutlich daran dass meine Dateien ja anders heißen.
    In Auswahl stehen die 3 Dateien ja mit Dateinamen drinnen. Meine heißen anders und es sind ja um einige mehr.
    Sollte er die Dateinamen automatisch laden oder muss ich nach dem ersten Schritt irgendwie die Dateien auswählen?
    Oder muss ich ihm die einzelnen Dateinamen einen nach dem anderen reinschreiben?

    Ich bin bei PQ wirklich komplett ahnunglos. Den Dateipfad zu ändern habe ich durch suchen gefunden.
    Wenn ich bei der Ausführung das aber in Steps machen muss oder dazwischen etwas auswählen/markieren muss dann müsste ich wissen wann und was.
    Ich habe einfach den Pfad geändert und habe dann auf aktualisieren geklickt.
    Bei Quelle & Text in Kleinbuchstaben habe ich eine Tabelle, bei Auswahl ist die dann leer weil natürlich die 3 Dateinamen die er sucht nicht da sind.
     
  6. R J
    R J hat Ahnung
    ...seufz...

    lösch den Schritt Auswahl, filtere stattdessen an selber Stelle nach allen Exceldateien
    PS... hatte die Druckbereiche im geposteten Code doch noch nicht gelöscht. Hatte ja schon beschrieben wie und wo... kriegst Du selbst hin...Dateien zusammenführen *:)*
     
    Zuletzt bearbeitet: 1. März 2026 um 22:12 Uhr
  7. daBrain hat Ahnung
    Das habe ich soweit geschafft.
    Ein Fehler kommt nun noch. Bei den umbenannten Spalten ist nochmal der falsche Dateiname enthalten. Soll ich da einen der vorhandenen korrekten Dateinamen einsetzen oder muss das ein bestimmter sein? Der erste in der Tabelle oder so.

    Code:
    let
        Quelle = Folder.Files("Z:\Lieferanten & Hersteller\Speck\Ersatzteilpreislisten\2026\Original"),
       #"Text in Kleinbuchstaben" = Table.TransformColumns(Quelle,{{"Extension", Text.Lower, type text}}),
        Auswahl = Table.SelectRows(#"Text in Kleinbuchstaben", each true),
        ContentZuTabelle = Table.FromList(Auswahl[Content], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        AddIndex = Table.AddIndexColumn(ContentZuTabelle, "Index", 0, 1, Int64.Type),
        AddColDateinamen = Table.AddColumn(AddIndex, "Pfad", each Auswahl[Folder Path]{[Index]} & Auswahl[Name]{[Index]}),
        Dateien = Table.AddColumn(AddColDateinamen, "Datei", each  Auswahl[Name]{[Index]}, type text),
        AddColAlleQuelltables = Table.AddColumn(Dateien, "AlleQuellen", each Excel.Workbook(File.Contents([Pfad] ),null,true)),
        #"Erweiterte AlleQuellen" = Table.ExpandTableColumn(AddColAlleQuelltables, "AlleQuellen", {"Name", "Data", "Item", "Kind"}, {"Name", "Data", "Item", "Kind"}),
        AnzCol = 9,//Table.ColumnCount(#"Erweiterte AlleQuellen"[Data]{0}),
        OldNams = Table.ColumnNames( #"Erweiterte AlleQuellen"[Data]{0}),
        #"Beibehaltene erste Elemente" = List.FirstN(OldNams,AnzCol),
        NewNames = {Character.FromNumber(65)..Character.FromNumber(AnzCol +64)},
        #"Erweiterte Data" = Table.ExpandTableColumn(#"Erweiterte AlleQuellen", "Data", #"Beibehaltene erste Elemente", NewNames),
        #"Entfernte Spalten"  = Table.SelectColumns(#"Erweiterte Data",{"Datei", "Name", "C", "F", "I"}),
        #"Entfernte oberste Zeilen" = Table.Skip(#"Entfernte Spalten",5),
        #"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte oberste Zeilen", [PromoteAllScalars=true]),
        #"Gefilterte Zeilen" = Table.SelectRows(#"Höher gestufte Header", each ([#"SAP-Benennung"] <> null and [#"SAP-Benennung"] <> "" and [#"SAP-Benennung"] <> "SAP-Benennung") and ([#"Artikel-Nr."] <> "gültig ab/valid from")),
        #"Umbenannte Spalten" = Table.RenameColumns(#"Gefilterte Zeilen",{{"26_Typ1.xlsx", "Datei"}, {"Typ1asd", "Datenquelle"}}),
        #"Geänderter Typ" = Table.TransformColumnTypes(#"Umbenannte Spalten",{{"Euro/St.", Currency.Type}, {"Artikel-Nr.", type text}})
    in
        #"Geänderter Typ"
     
  8. daBrain hat Ahnung

    Dateien zusammenführen

    Update: Ich habs geschafft.
    Habe auf die Spaltennamen angepasst, jetzt läuft es.
    Daten schauen korrekt aus. Sind nun in Summe 13,8 k Zeilen
    Vielen, vielen Dank!
     
  9. R J
    R J hat Ahnung
    Die hast Du bestimmst statisch angepasst, bei der nächsten Datei, im neuen Jahr... kracht es wieder. Deshalb musst Du dynamisch anpassen!

    ...das ist jetzt die letzte Hilfe hier im Forum. Die sollte auch passen:
    Ansonsten nur mit Originalansicht.... kein Ratespiel mehr...

    Code:
    let
        Quelle = Folder.Files("Z:\Lieferanten & Hersteller\Speck\Ersatzteilpreislisten\2026\Original"),
        #"Text in Kleinbuchstaben" = Table.TransformColumns(Quelle,{{"Extension", Text.Lower, type text}}),
        Auswahl = Table.SelectRows(#"Text in Kleinbuchstaben", each [Extension] = ".xlsx" ),
        ContentZuTabelle = Table.FromList(Auswahl[Content], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        AddIndex = Table.AddIndexColumn(ContentZuTabelle, "Index", 0, 1, Int64.Type),
        AddColDateinamen = Table.AddColumn(AddIndex, "Pfad", each Auswahl[Folder Path]{[Index]} & Auswahl[Name]{[Index]}),
        Dateien = Table.AddColumn(AddColDateinamen, "Datei", each  Auswahl[Name]{[Index]}, type text),
        AddColAlleQuelltables = Table.AddColumn(Dateien, "AlleQuellen", each Excel.Workbook(File.Contents([Pfad] ),null,true)),
        #"Erweiterte AlleQuellen" = Table.ExpandTableColumn(AddColAlleQuelltables, "AlleQuellen", {"Name", "Data", "Item", "Kind"}, {"Name", "Data", "Item", "Kind"}),
        #"Gefilterte Zeilen1" = Table.SelectRows(#"Erweiterte AlleQuellen", each ([Kind] = "Sheet")),
        AnzCol = 9,//Table.ColumnCount(#"Erweiterte AlleQuellen"[Data]{0}),
        OldNams = Table.ColumnNames( #"Gefilterte Zeilen1"[Data]{0}),
        #"Beibehaltene erste Elemente" = List.FirstN(OldNams,AnzCol),
        NewNames = {Character.FromNumber(65)..Character.FromNumber(AnzCol +64)},
        #"Erweiterte Data" = Table.ExpandTableColumn(#"Gefilterte Zeilen1", "Data", #"Beibehaltene erste Elemente", NewNames),
        #"Entfernte Spalten"  = Table.SelectColumns(#"Erweiterte Data",{"Datei", "Name", "C", "F", "I"}),
        #"Entfernte oberste Zeilen" = Table.Skip(#"Entfernte Spalten",5),
        Spaltenname = {#"Entfernte oberste Zeilen"[Datei]{0},#"Entfernte oberste Zeilen"[Name]{0}},
        #"Höher gestufte Header" = Table.PromoteHeaders(#"Entfernte oberste Zeilen", [PromoteAllScalars=true]),
        #"Gefilterte Zeilen" = Table.SelectRows(#"Höher gestufte Header", each ([#"SAP-Benennung"] <> null and [#"SAP-Benennung"] <> "" and [#"SAP-Benennung"] <> "SAP-Benennung") and ([#"Artikel-Nr."] <> "gültig ab/valid from")),
        #"Umbenannte Spalten" = Table.RenameColumns(#"Gefilterte Zeilen",{{Spaltenname{0}, "Datei"}, {Spaltenname{1}, "Datenquelle"}}),
        #"Geänderter Typ" = Table.Distinct( Table.TransformColumnTypes(#"Umbenannte Spalten",{{"Euro/St.", Currency.Type}, {"Artikel-Nr.", type text}}))
    in
        #"Geänderter Typ"
    Diesmal wurden die Druckbereiche und Dubletten wirklich entfernt...
     
    Zuletzt bearbeitet: 1. März 2026 um 23:02 Uhr
Thema:

Dateien zusammenführen

Die Seite wird geladen...
  1. Dateien zusammenführen - Similar Threads - Dateien zusammenführen

  2. CSV Dateien mit unterschiedlichen Format importieren und zusammenführen

    in Microsoft Access Hilfe
    CSV Dateien mit unterschiedlichen Format importieren und zusammenführen: Guten Morgen, ich versuche inzwischen seit einiger Zeit einige CSV aus verschiedenen Quellen zusammenzuführen. Sämtliche Recherchen über Google etc. haben mich leider zu keiner Lösung geführt und...
  3. Mehrere Excel Dateien zu einer zusammenführen

    in Microsoft Excel Hilfe
    Mehrere Excel Dateien zu einer zusammenführen: Hallo, Ich habe ca. 90 Excel Dateien, die alle eine Tabelle mit genau den selben Bezeichnungen enthalten (Material, Werk, Bezeichnung, Stückzahl,...). Nun möchte ich diese 90 Dateien zu einer...
  4. Daten aus mehreren Dateien zusammenführen in einer Tabelle

    in Microsoft Excel Hilfe
    Daten aus mehreren Dateien zusammenführen in einer Tabelle: Hallo Miteinander, nachdem ich selber (leider) erfolglos probiert habe, hoffe ich ihr könnt mir weiterhelfen. Ich möchte gerne ein Makro in Excel schreiben, dass Daten aus verschiedenen...
  5. VBA: XLSX-Dateien in verschiedene Tabellenblätter in einer XLXS-Datei zusammenführen

    in Microsoft Excel Hilfe
    VBA: XLSX-Dateien in verschiedene Tabellenblätter in einer XLXS-Datei zusammenführen: Hallo, ich habe in einem Verzeichnis mehrere Excel-Dateien die ich gerne in einer Datei zusammenfassen möchte. Jedoch möchte ich die in verschiedenen Tabellenblättern beibehalten. Ich finde VBA...
  6. Mehrere Excel Dateien in ein Tabellenblatt zusammenführen

    in Microsoft Excel Hilfe
    Mehrere Excel Dateien in ein Tabellenblatt zusammenführen: Hello zusammen! Da ich leider für mein Problem über Google keine Lösung finden konnte, wende ich mich vertrauensvoll an euch... :) Meine Arbeitskollegen und ich möchten gerne jeweils eine...
  7. Über Makro Daten aus Dateien auslesen

    in Microsoft Excel Hilfe
    Über Makro Daten aus Dateien auslesen: Hallo zusammen! Wer kann helfen? Ich möchte ein Makro erstellen, das aus dem aktuellsten Excel-Files in einem Ordner (z.B. d:\Daten\) die Werte B7 bis B26 in meine aktuelle Excel-Datei holt und...
  8. Tabelle aus meheren Excel-Dateien zusammenführen

    in Microsoft Excel Hilfe
    Tabelle aus meheren Excel-Dateien zusammenführen: Hallo! Ich beschäftige mich schon seit geraumer Zeit mit einer Problemstellung in VBA und benötige eure Hilfe: Bin in VBA ein kompletter Neuling :confused: Ich versuche bestimmte Bereiche...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden