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

Artikel auf Kartons verteilen

Forumthread: Artikel auf Kartons verteilen

Artikel auf Kartons verteilen
17.03.2025 22:51:15
Jogi3108
Hallo zusammen,

ich habe per VBA eine Tabelle erstellt die soll jetzt die Artikel auf Kartons verteilen.
Hierzu gibt es eine Beispieldatei:

https://www.herber.de/bbs/user/176313.xlsx

Die blau gerahmte Seite hab ich soweit fertig.
Hier steht immer für jeden Karton die Gesamtmenge der Position in jeder Zeile.
die rot gerahmte Seite fehlt mir noch.
Hier soll die Kartonmenge (in dem Bsp = 50) in Abhängigkeit der Größe in den Karton gefüllt werden.
Wenn voll = nächster Karton

Zur besseren Übersicht habe ich die Ergebnisse mal eingetragen.
Gibt es hier eine spezielle Funktion?
Ich habe versucht dies mit Schleifen zu programmieren, das ist aber schnell unübersichtlich geworden.


Vielen lieben Dank für Eure Hilfe.
Gruß
Jogi3108
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Artikel auf Kartons verteilen
17.03.2025 23:04:33
Onur
Keine Ahnung, was die Tabelle darstellen soll.
Was heisst denn Grösse? Grösse des Artikels oder des Kartons? Wo steht, wieviel vom jeweiligen Artikel in den jeweilgen Karton passt? Was heisst "Menge im Karton" genau ?
AW: Artikel auf Kartons verteilen
17.03.2025 23:18:14
Jogi3108
Größe 65 bis 120 ist Größe des Artikels
Der Artikel 86110-016 rot hat eine Gesamtmenge von 135 Stück die sich aufteilen von Größe 75 bis 100.
Vorgabe ist fest max 50 Stück im Karton.
Deshalb findest Du 3 Zeilen links in meiner Tabelle ( 50 +50 +35 Stück)
da nur 50 Stück der Größe 75 in den ersten Karton passen müssen 25 Stück in den zweiten. Der wird aber weiter befüllt mit 14 Stück 80er usw...

Gruß
Jogi3108
Anzeige
AW: Artikel auf Kartons verteilen
18.03.2025 10:55:48
MCO
Moin!

die Gesamtmenge der Position spielt bei der Verteilung auf die Kartons gar keine Rolle, nur die Felder in den Größen.

Dieser Code macht genau das, was du willst:
Sub Kartonverteilung()


Dim Kar_max As Long
Dim Überlaufmenge As Long
Dim z_versatz As Long
Dim Bestück As Long
Dim rng As Range
Dim rw As Range
Dim cl As Range

For Each rw In Range("C:C").SpecialCells(xlCellTypeConstants, xlNumbers)
Kar_max = Cells(rw.Row, 3)
On Error Resume Next

Set rng = Range("G" & rw.Row & ":R" & rw.Row).SpecialCells(xlCellTypeConstants)
If Not rng Is Nothing Then
Überlaufmenge = 0 'alles auf 0
Bestück = 0
z_versatz = 0

For Each cl In rng.SpecialCells(xlCellTypeConstants)
If cl > Kar_max Then
Überlaufmenge = cl Mod Kar_max 'passt nicht mehr in 1 Karton
cl.Offset(z_versatz, 15) = Kar_max
cl.Offset(z_versatz + 1, 15) = Überlaufmenge
Bestück = Überlaufmenge 'Füllmenge im neuen Karton
z_versatz = z_versatz + 1
ElseIf cl + Bestück > Kar_max Then ''passt nicht mehr in 1 Karton
Überlaufmenge = (cl + Bestück) Mod Kar_max
cl.Offset(z_versatz, 15) = IIf(Kar_max - Bestück > 0, Kar_max - Bestück, "")
cl.Offset(z_versatz + 1, 15) = Überlaufmenge
Bestück = Überlaufmenge
z_versatz = z_versatz + 1 'zeilenversatz für nächste Mengeneintragung
Else
cl.Offset(z_versatz, 15) = IIf(cl > 0, cl, "") 'Passt (noch) in den Karton
Bestück = Bestück + cl
Überlaufmenge = 0
End If
Next cl
Set rng = Nothing
End If
Next rw
End Sub


Gruß, MCO

Anzeige
AW: Artikel auf Kartons verteilen
18.03.2025 11:06:53
Jogi3108
hab es gerade mal probiert, sieht gut aus.
muss gerade andere Sachen machen.
Ich muss mir das mal in Ruhe anschauen, da sind Befehle drin die kenne ich noch gar nicht.

Jedenfalls vielen lieben Dank für Deine Hilfe

Gruß
Jogi3108
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18