Excel Ermittlung von Baugruppenleveln und Bauteil Anzahl

Allan Sche Sar

Lt. Commander
Registriert
Jan. 2004
Beiträge
1.891
Hallo zusammen,

ich stecke gedanklich etwas fest und hoffe auf euren Input.
Aus einem Programm bekomme ich eine Stückliste von Bauteilen (Einzelteile und Baugruppen) dich ich für einen Aufbau benötige.
Das Programm ignoriert leider die Anzahl der Baugruppe, wenn diese grösser als 1 ist. Sprich, wenn sie zwei ist, dann steht in der Stückliste der Baugruppe Bauteil Anzahl eins, aber eigentlich brauche ich zwei Einzelteile um die Baugruppe zweimal herzustellen zu können.

Nun suche ich nach einer Logik (ob reine Formelarbeit oder VBA Arbeit spielt keine Rolle), damit ich automatisch erkennen kann um was es sich handelt und die real benötige Anzahl erreichnen kann (im Beispiel einmal in orange dargestellt).

Min angehängtes Beispiel soll euch in grau zeigen was ich bekommen. Level meint dabei die Tiefe der Baugruppe. Alles von Level drei muss in Level zwei eingebaut werden. Alles aus zwei dann in eins.
Orange ist das, was ich aktuell von Hand erstelle und automatisiert werden soll.

Ideen, wie ich es angehen kann?
 

Anhänge

  • beispiel.xlsx
    8,8 KB · Aufrufe: 183
So wie ich dein Sheet verstehe gibt es eine Unterscheidung zwischen Bauteil A/B/C und Bauteil D/E/F/G/H. Sind das unterschiedliche Produkte? Falls ja dann musst du das extra hinterlegen, sonst kann man nicht zuordnen ob Bauteil E mit Level 2 nur in Bauteil D (Level 1) oder auch in Bauteil A (Level 1) gehört.

Edit: Gehört Bauteil H als Level 3 nur Bauteil G weil das Typ "Assy" hat? Ansonsten bräuchtest du nämlich 45 davon
 
Für solche Aufgaben ist eine Microsoft Access Datenbank sicherlich die bessere Lösung.
 
Ein Level 1 ist immer das oberste. Kommt ein weitere Level 1 Assy, dann gehören alle darunter befindlichen Level 2 bis x Sachen zur Level 1 Assy.
Damit ja, es gibt eine Trennung/ Unterscheidung zwischen Bauteil A/B/C und Bauteil D/E/F/G/H.
Die Produkte können unterschiedlich aber auch gleich sein. Jedoch werden sie auch bei Gleichheit erneut aufgeführt, da sie in der Stückliste benötigt werden, um die Baugruppe zu erstellen.

Bauteil H gehört nur zum Bauteil G. Daher auch die Formel in Zelle E9. Die Logik ist, dass die kleinere Level Anzahl immer in die nächste grössere einfliesst.


@ella_one Microsoft Access habe ich zumindest auch installiert. genutzt habe ich es die letzten 8 Jahre nicht mehr. Da bräuchte ich vielleicht etwas mehr Erklärung, damit ich mich dann mit der Lösungsumsetzung beschäftigen kann.
Edit: Sollte ich aber mit Access arbeiten, so muss ich die Daten, die grau markierten, erst einmal in Access wieder einlesen. Die Daten selbst liegen mir so als Excel vor.
 
Also wenn es nur bis Level 3 geht wäre das eine Lösung. Die Hilfspalten kann man sicher noch in die Formel mit einbauen. Wenn es mehr Level gibt müsste man noch weitere Bedingungen abfragen.
 

Anhänge

  • beispiel.xlsx
    9,9 KB · Aufrufe: 168
  • Gefällt mir
Reaktionen: Allan Sche Sar
Ich sage vielen Dank für eure Inspiration. Tatsächlich ist mir dadurch der Groschen wieder gerutscht oder der Wald hat sich gelichtet. Ich habe es nun mittels VBA Code gelöst und bin reinweg über einen Vergleich der Level gegangen. Dabei suche ich von unten nach oben. Denn immer wenn ich bei einer eins ankommen, dann geht es weiter nach oben in die nächste Assembly.

Der Code sieht wie folgt aus:

Code:
    Set WB_Source = ThisWorkbook.Worksheets("Sheet1")
    
    Int_LastRow_Source = WB_Source.Cells(Rows.Count, 3).End(xlUp).Row 'last row from column C at Source Sheet
        
    For i = Int_LastRow_Source To 2 Step -1
    
        Count = WB_Source.Cells(i, 4)
        Level = WB_Source.Cells(i, 3)
        
        For j = i - 1 To 2 Step -1
            
            If Level > WB_Source.Cells(j, 3) Then
                
                Level = WB_Source.Cells(j, 3)
                Count = Count * WB_Source.Cells(j, 4)
            
            End If
            
        Next j
        
        WB_Source.Cells(i, 7) = Count
    
    Next i


Sofern gewünscht kann ich auch die Bespieldatei hier hochladen.
 
Ja das siehst du richtig. Da die hierachier jedoch beim Export korrekt übergeben wird, kann ich danach gleich das Macro laufen lassen. Und selbst wenn jemand neu sortiert, dann kann man über eine ID die original Sortierung wieder herstellen.
 
Zurück
Oben