(13.01.2018, 22:41)snowraider schrieb: Jetzt will ich die Tabelle mit VBA bearbeiten
... und was hindert dich daran? Wenn du schon das "große Wort" VBA in den Ring wirfst: Welche Vorarbeit hast du denn schon geleistet, damit die Helfer hier en détail und gezielt Hilfestellung leisten können?
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
leider beschreibst du nur sehr allgemein, wo die Reise hingehen soll. Grundsätzlich ist es so, dass man mit VBA nichts machen kann, was Excel mit seinen Standradfunktionen nicht auch kann.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag 28 • snowraider
tut mir leid, dass ich mich nicht präzise ausgedrückt habe, bin gerade noch am Tüfteln wie ich das ganze hinbekomme.
Wir haben ja bislang noch die Liste mit allen anstehenden Bestellpositionen und verschiedenen Mengen.
Der erste große Schritt ist ja getan, dass wir nun zwischen Einzel & Sammelauftrag unterscheiden können.
Gerade umgesetzt habe ich das gesamte Volumen für eine Bestellung, dies lässt sich durch die Summe artikelgröße+menge errechnen, das ist der benötigte Raum für die Bestellung
Der Wunsch ist dass die anfängliche Liste nach Einzelauftrag geteilt wird und diese werden anhand einer maximal zulässigen Volumenzahl zusammengeführt.
Sprich 2 große Artikel oder 4 mittlere oder 16 kleine haben das Volumen der Kapazität erfüllt
Falls es noch unklar ist, kann ich auch mal beispielhafte Daten hochladen,
aber ich hoffe die Problemstellung ist nun so beschrieben, dass es hoffentlich verstanden wird.
ich freue mich das dir der Code gefaellt und du ihn nachvollziehen willst. Unter uns, nur so lernt man effektiv VBA!
Was den Fehler verursacht kann ich idr sagen: da wollte ich überschlau sein! Mir eine 3. IF Then Auswertung sparen! Diese Zeile verursacht ihn: AT.Cells(j, 1).Resize(2, 5).Copy .Cells(sz, "I") Es ist die Zahl 2 statt 1. Ersetzt du sie durch 1 fehlt dir immer der letzte Auftrag im Sammelauftrag!
Was ich vergessen habe ist die Prüfung in der letzen Zeile! Schau mal ob du es selbst korrigieren kannst. (z.B. die zuviel kopierte Zeile hinter Next j prüfen und wenn zuviel löschen! Wenn du willst kannst du die Daten auch in zwei getrennte Tabellen kopieren, der Code ist leicht zu versthen!
mfg Gast 123
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • snowraider