Clever-Excel-Forum

Normale Version: Einzelne Blätter auf ein GESAMT-Blatt automatisch zusammenführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Rainer, 19

hier was zum spielen (mit VBA und PQ): 21
[attachment=36254]

Ich würde es an deiner Stelle mit Power Query aka Daten - Daten abrufen und transformieren machen. Blush
Hallo Case,

wow das funktioniert super. Genau das brauche ich DANKKKEEE
Nur noch die Frage, wie kann ich das als Leihe schaffen, dass ich diese Funktion selber einstelle oder auch anpasse?

Danke und LG
Rainer
@Case: Dein Vorgehen ist IMHO nicht zu empfehlen, da Du bei jedem weiterm MA(=Mitarbeiter) eine neue Abfrage erstellen musst und sie dann wieder an die Gesamtabfrage anhängen musst.

Mein Vorschlag ist
PHP-Code:
let
    Quelle 
Excel.Workbook(File.Contents(fileName), nulltrue),
    #"Gefilterte Zeilen" = Table.SelectRows(Quelle, each ([Name] = "Rudolf ZEN" or [Name] = "Thomas MANN" or [Name] = "Tina MIST")),
    #"Erweiterte Data" = Table.ExpandTableColumn(#"Gefilterte Zeilen", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8"}),
    #"Höher gestufte Header" = Table.PromoteHeaders(#"Erweiterte Data", [PromoteAllScalars=true]),
    #"Geänderter Typ" = Table.TransformColumnTypes(#"Höher gestufte Header",{{"Thomas MANN", type text}, {"KW", type any}, {"Datum", type any}, {"Mitarbeiter*in", type text}, {"Art der Leistung", type text}, {"Klient", type text}, {"Einheiten", type any}, {"Anwesend", type text}, {"Verrechnungsart", type text}, {"Thomas MANN_1", type text}, {"Sheet", type text}, {"false", type logical}}),
    #"Gefilterte Zeilen1" = Table.SelectRows(#"Geänderter Typ", each [KW] <> "KW"),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen1",{"Thomas MANN"}),
    #"Geänderter Typ1" = Table.TransformColumnTypes(#"Entfernte Spalten",{{"Datum", type date}, {"KW", Int64.Type}, {"Einheiten", type number}}),
    #"Entfernte Spalten1" = Table.RemoveColumns(#"Geänderter Typ1",{"Sheet", "false", "Thomas MANN_1"})
in
    
#"Entfernte Spalten1" 
wobei filename den kompetten Namen zum Workbook enthält, das kann auch das aktuelle Workbook sein.

Falls dann ein MA dazu kommt, muss man nur den Filter ändern und das relevante Blatt ergänzen. Das könnte man noch komfortabler gestalten, indem man die relevanten Blätter in einer extra Parametertabelle aufführt und in den Filter einfliessen lässt.

Die obige Abfrage wäre aufgeräumter und einfacher, würde man in den einzelnen Blättern Listobjects verwenden, aber das kann der TS machen.

PS Ja, mit etwas verbessertem Aufbau hat man
PHP-Code:
let
    Quelle 
Excel.CurrentWorkbook(),
    #"Gefilterte Zeilen" = Table.SelectRows(Quelle, each Text.Contains([Name], "tblMA")),
    #"Entfernte Spalten" = Table.RemoveColumns(#"Gefilterte Zeilen",{"Name"}),
    #"Erweiterte Content" = Table.ExpandTableColumn(#"Entfernte Spalten", "Content", {"KW", "Datum", "Mitarbeiter*in", "Art der Leistung", "Klient", "Einheiten", "Anwesend", "Verrechnungsart"}, {"KW", "Datum", "Mitarbeiter*in", "Art der Leistung", "Klient", "Einheiten", "Anwesend", "Verrechnungsart"})
in
    
#"Erweiterte Content" 
Hallo Rainer, 19

du müsstest dich als Laie in Power Query etwas einlesen: 21

Link1, Link2.

Es gibt auch eine Reihe von guten YouTube-Videos zu dem Thema. Exclamation

Falls VBA, würde ich dir das schnell in deine Originaldatei einbauen.
Seiten: 1 2