Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: template für Uploadtool

VBA: template für Uploadtool
07.07.2016 12:08:03
Dominik
Guten Tag zusammen
Ich muss per Makro ein Template für ein Upload Tool schreiben.
Ausgehend aus einem Tabellenblatt soll es informationen ziehen und in ein bestimmtes Template schreiben.
Ich habe bereits ein funktionierendes Makro hergestellt.
Allerdings funktioniert es nur, solange in der Ausgangsliste nur 1 Produktnummer vorkommt.^
Ziel ist, dass bei einer neuen Produktnummer im template eine neue Zeile eingefügt wird mit spezifischen Informationen.
Datei ist so aufgebaut:
"Ausgangslage" ist die Basistabelle.
Daraus wird per Makro die Zwischentabelle aufgebaut. an BEIDEN Tabellen darf nichts geändert werden.
Das "template" ist neu von mir. Dieses Makro habe ich drin gelassen.
im "template SOLLZUSTAND" sieht man eigentlich selbsterklärend, wie es dann am Schluss sein sollte.
Die Datei mit Phantasiedaten habe ich hochgeladen, hoffe es hat geklappt.
https://www.herber.de/bbs/user/106833.xlsm
Ich hoffe, es kann mir jemand die nötigen Anpassungen im Makro erklären. Ich sitze seit Stunden an dem gesamten Makro (hab nahezu 0 VBA Erfahrung!)
Gruss
Dominik

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zwischensummen oben mit Dic
07.07.2016 20:39:47
Michael
Hi Dominik,
anbei Datei mit Makro: https://www.herber.de/bbs/user/106847.xlsm
Das schreibt die Ergebnisse bis auf Weiteres rechts neben Dein SOLL in Spalte G.
Wenn Du mit der Funktionsweise zufrieden bist, ändere einfach die
Const spalte = "G"
auf = "A", dann wird Dein Vorschlag, der übrigens an den rot markierten Zellen verkehrt war, überschrieben.
Schöne Grüße,
Michael

AW: Zwischensummen oben mit Dic
08.07.2016 11:12:12
Dominik
Hallo Michael
Vielen, vielen, vielen Dank!
1 Frage jedoch:
Du übernimmst mit deinem Makro die "Menge" (Spalte D) aus der Ausgangstabelle.
Wenn du mir kurz erklärst, wie ich diese Info aus derZwischentabelle ziehe, dann passt es :)
Grund: Ich hatte in beiden Tabellen "CO" drin, das muss nicht immer so sein... Das war unklug von mir, sorry!
Die Mengeneinheit in der "Ausgangstabelle" kann abweichen. per Makro wird es umgerechnet und in die "Zwischentabelle" geschrieben.
Die Menge muss also zwingend aus der Zwischentabelle kommen!
Beispiel:
Ausgangstabelle zeigt 5000 Exemplare an - darf nicht ins Template
Zwischentabelle zeigt 2.5 CO an (umrechnung aus 5000 Exemplaren) - das muss ins Template
Andere Option wäre natürlich, die Umrechnungslogik in dein Makro zu implementieren.. Das wäre aber wohl etwas komplizierter...

Anzeige
AW: Zwischensummen oben mit Dic
08.07.2016 11:36:19
Dominik
Nachtrag:
Es wäre allgemein besser, wenn es die Daten generell aus der Zwischentabelle zieht.
In der Zwischentabelle werden immer weniger Einträge drin sein (wenn in der Ausgangstabelle Spalte A und Spalte C identisch sind, darf es nicht in die Zwischentabelle).
Das hatte ich ganz simpel so gelöst:
If VZ  Betrieb Then 

und dann der Output
Das einzige, was aus der Ausgangstabelle kommen muss, sind die Produktnummern (da in der Zwischentabelle die Punkte bei den Artikeln entfernt wurden) und die Lieferdaten.
Hatte versucht, die Tabellenbeüge von "Ausgangstabelle" auf "Zwischentabelle" zu ändern. Allerdings erhalte ich dann einen Fehler in diesem Bereich:

Tabelle5.Range(spalte & "3").Resize(, UBound(Ueb, 2)) = Ueb
Set r = Tabelle5.Range(spalte & "4").Resize(z0, UBound(b, 2))
Wäre für weitere Hilfe dankbar :)
Gruss & noch einmal vielen lieben Dank
Dominik

Anzeige
AW: Zwischensummen oben mit Dic
08.07.2016 12:53:41
Michael
Hi Dominik,
ich würde vorschlagen, Du sendest mir eine "bessere" Datei, in der alle Eventualitäten drinstehen, und teilst mir die "Berechnung" mit - das läßt sich leichter ins Makro einbauen als das "Zumischen" von Produktnummern.
Schöne Grüße,
Michael

AW: Zwischensummen oben mit Dic
08.07.2016 14:13:09
Dominik
Hallo Michael
Hier der Link.
In dieser Datei sind auch alle anderen Makros noch drin...
Die Umrechnungslogik findest du im Makro der "ZLOADBEST".
https://www.herber.de/bbs/user/106866.xlsm
Also kurz zusammengefasst:
- Aufteiler entspricht der "Ausgangstabelle"
- ZLOADBEST ist die Zwischentabelle
- Im Aufteiler sind einige Zeilen rot markiert. Diese kommen (absichtlich) nicht in den ZLOADBEST.
- Die rot markierten Zeilen dürfen ebenfalls nicht in das neue Template!
Das Makro wie es jetzt ist, funktioniert einwandfrei.
Nötige Anpassungen:
- Menge (Spalte C) soll aus der ZLOADBEST kommen statt aus Aufteiler (oder die Menge wird umgerechnet...)
- Mengeneinheit (Spalte D) im Template muss CO sein!
Dazu muss aber auch die Menge entsprechend stimmen;-)
Bin dir für deine Hilfe sehr dankbar.
Mit diesen 2 kleinen Anpassungen ist es eigentlich perfekt. :-)
Viele Grüsse
Dominik

Anzeige
AW: Zwischensummen oben mit Dic
08.07.2016 15:29:16
Michael
Hi Dominik,
geht schon, aber in Deiner Datei muß ein externer Bezug drin sein: in Eingabe!Spalte B stehen in Zeile 36 und 38 Fehler und 40 ist leer, würde also mit 0 multiplizieren (wenn überhaupt).
Ich schreibe jetzt einfach mal händisch irgendwelche Werte rein, mit denen sich rechnen läßt...
In "template" steht die Zeile 1015/4000 Ex., die ist aber wiederum in "Aufteiler" rot markiert und sollte hier nicht erscheinen!
Bissi genauer arbeiten, bitte...
Gruß,
Michael

AW: Eingebaut...
08.07.2016 16:23:42
Dominik
Hallo Michael
Ja ich musste halt alles heikle rauslöschen.
Ich hatte einen geeigneten Aufteiler generiert, damit ich es löschen kann und du direkt damit arbeiten kannst.
Bezüglich 1015/4000 Ex.:
Genau das wollte ich mit in meiner Nachricht beschreiben :-)
Diese Zeile aus dem Aufteiler wurde (unerlaubt) ins Template übernommen.
Die Mengeneinheit wird immernoch aus dem Aufteiler statt aus ZLOADBEST gezogen.
Die Menge wird korrekt umgerechnet, aber es steht noch immer Exemplare als Mengeneinheit.
Aber ich glaub das krieg ich irgendwie hin... :)
Vielen Dank für deine Hilfe und Sorry - aber das ganze Konstrukt verständlich zu beschreiben ist gar nicht so einfach...
Gruss & ein schönes Wochenende
Dominik

Anzeige
AW: Eingebaut...
08.07.2016 17:46:58
Michael
Hi Dominik,
ja, weil Du an meinem Makro rumgepfuscht hast!
Da stand nämlich zweimal: b(z0, 4) = "CO"
Mach das wieder rein, dann paßt's.
Und: ZLAODBEST interessiert mich nicht, sorry.
Schöne Grüße,
Michael

sorry,
09.07.2016 12:12:45
Michael
Dominik,
ich war gestern leicht genervt...
Aber mach die zwei Zeilen wieder rein, dann paßt es ja.
Wegen ZLB: wozu auf zwei Tabellen zugreifen, wenn der Zugriff auf eine genügt?
Schöne Grüße,
Michael

AW: sorry,
11.07.2016 15:12:13
Dominik
Dieses "rumpfuschen" ist das Ergebnis eines VBA Anfängers der versucht hat, selbst die Umrechnung irgendwie reinzubauen und den Bezug der Mengeneinheit zu ändern, anstatt ständig die Hilfe anderer in Anspruch nehmen zu müssen.
Und direkt im richigen Makro getestet hat anstatt auf einer Kopie... *hust*
Hat (wie man sieht) nicht ganz geklappt ;-)
Das mit der ZLOADBEST war eine Fehlüberlegung. Ich dachte es ist einfacher, die Mengen + Einehit fix von dort abzugreifen anstatt alles extra aus dem sog. "Aufteiler" umzurechnen.
Hab die Zeilen ergänzt und nun passt es.
Danke für die Hilfe.
Gruss Dominik

Anzeige
gern geschehen,
11.07.2016 15:48:17
Michael
Dominik,
und viel Erfolg weiterhin bzw. happy exceling,
Gruß,
Michael
P.S.: das mit der Kopie ist ja nicht so dramatisch, man kann sich's ja wieder aus dem Forum herunterladen, wenn man was verpfuscht hat: passiert mir auch manchmal.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige