Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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

Artikelnummern abgleichen - Datei Speichern

Artikelnummern abgleichen - Datei Speichern
09.08.2018 11:10:35
Wo0oT
Hallo liebe Mitforisten,
bemüht darum den ein oder anderen Arbeitsablauf in meiner Firma zu verbessern habe ich mich, zugegeben ohne jede Vorkenntnisse, an Excel VBA versucht und konnte auch bisher schon mit viel Zeit und viel Google Erfolge verbuchen. Nun hänge ich aber auf der Zielgeraden und hoffe auf eure Hilfe. Ich versuche die Aufgabenstellung so einfach wie möglich zu beschreiben:
Kunde Mustermann schickt 1-2x pro Woche Bestellungen per Email in digitaler PDF Form. Jede Bestellung ist von der Aufmachung identisch und variiert nur in der Anzahl der bestellten Positionen und Bestellnummern.
Momentan werden diese Bestellungen noch manuell abgearbeitet, kurz und knapp:
PDF wird geöffnet und bestellte Artikel werden manuell mit in eine „Gesamtliste“ eingetragen und aus dieser Liste werden dann die elementaren Begleitzettel wie z.B. eine Packliste und Lieferscheine generiert. Bei ca 100 Bestellungen mit durchscnittlich 6-9 Positionen geht also für das Abarbeiten eine Menge Zeit drauf,vom Fehlerpotenzial ganz zu schweigen.
Soweit bin ich:
Mein Programm liest bereits automatisch alle (als Textdatei in einem Ordner gespeicherten) PDF´s aus, pflegt die nötigen Werte ein und generiert für jede im Ordner gespeicherte PDF eine eigene Arbeitsmappe.
Was nun noch fehlt:
Zu guter Letzt sollen die einzelnen Bestellungen, welche nun in Form von Arbeitsblättern in einer xls Datei vorhanden sind (siehe Beispieldatei „Quell.xls“) vollautomatisch mit der Gesamtliste abgeglichen und unter einem Dateinamen gespeichert werden, welcher sich zum Teil aus vorgegebenen Text und Zellwerten zusammensetzt (siehe Beispieldatei „Ziel.xls“ Blatt 5).
Gewünschter Ablauf im Detail
Aktueller Zustand nachdem bestehender Code durchgelaufen ist: Quell.xls & Ziel.xls sind beide geöffnet. Aktive Arbeitsmappe bei Quell.xls ist „Bestellung 1“. Aktive Arbeitsmappe bei Ziel.xls ist „1“
Schritt 1:
Artikelnummern aus Spalte C von Quell.xls „Bestellung 1“ mit Spalte D von Ziel.xls abgleichen. Falls die Artikelnummer gefunden wird soll die jeweilige Stückzahl aus Spalte D von Quell.xls in Spalte F rechts von der gefundenen Artikelnummer eingetragen werde.
Schritt 2:
Nun sollen ebenfalls noch die Werte von den Zellen E1 bis I1 aus Quell.xls „Bestellung 1“ in die jeweiligen Zellen von Ziel.xls „1“ übernommen werden (siehe Beschreibung Zeile 1 von Ziel.xls in rot)
Schritt 3:
Anschließend sollen in der Datei Ziel.xls automatisch die Arbeitsblätter von 1 bis 5 der Reihe nach durchgeblättert werden.
Schritt 4:
Nun soll die Datei (falls möglich) unter einem Dateinamen gespeichert werden der
sich aus Zellwerten (siehe Ziel.xls Blatt 5 blau markierter Text in Zeile 2)
und Fixen Werten (siehe Ziel.xls Blatt 5 schwarz/fett markierter Text in Zeile 2).
Nach dem Speicherprozess soll die unter einem neuen Namen Datei geschlossen werden.
Schritt 5:
Öffnen der Datei Ziel.xls. Abschließend soll in der Datei Quell.xls zur nächsten
Bestellung nach rechts geblättert und Schritte 1 bis 5 wiederholt werden, bis alle
Bestellungen abgearbeitet sind.
Die beiden Musterdateien Test.xls & Ziel.xls habe ich unter folgenden Links hochgeladen:
Quell.xls: https://www.herber.de/bbs/user/123227.xls
Ziel.xls: https://www.herber.de/bbs/user/123228.xls
Ich bedanke mich im vorraus für die Mithilfe
Viele Grüße
Wo0oT

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
09.08.2018 20:59:31
Robert
Hallo Wo0oT,
in beiliegender Quell.xls habe ich ein Makro "DatenUebertragen" eingebaut. Ein entsprechender Button befindet sich auf der Tabelle GO. Damit werden die Daten aus den Tabellen (im Beispiel Bestellung 1 bis Bestellung 3) der Quell.xls gemäß Deinen Vorgaben in die Tabelle 1 der Ziel.xls übertragen (Beide Dateien sind laut Deinen Vorgaben ja geöffnet). Anschließend wird eine Kopie der Ziel.xls unter dem von Dir vorgegebenen Namen im selben Verzeichnis wie die Ziel.xls als xls (im Excel 97-2003-Format) abgespeichert.
Was Du mit Schritt 3 meinst, erschließt sich mir allerdings nicht. In den Tabellen 2 bis 5 der Ziel.xls sehe ich keine Zellen, die irgendwie bearbeitet werden müssten. Ein "Durchblättern" macht also keinen Sinn.
Schau Dir mal das Ergebnis an.
Gruß
Robert
Quell.xls:
https://www.herber.de/bbs/user/123242.xls
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
10.08.2018 06:35:42
Wo0oT
Hi Robert,
schonmal vorab vielen Dank, ich werde gegen Mittag dazu kommen mir den Code anzuschauen.
Die Daten die ich mitgesendet habe sind von mir erstellte Musterdaten, in der Originaldatei
passend zur "Ziel.xls" werden in den Blättern 2-5 per Filter die bestellten Artikel aus Blatt 1
übernommen und münden schliesslich auf Blatt 5 im Lieferschein.
Ich habe bereits hinbekommen, dass per VBA durch weiterblättern betreffende Filter automatisch angewendet werden (vorher musste man das manuell machen, also Dropdownmenü in der Spaltenüberschrift anklicken und haken bei "Leer" entfernen), daher die Bitte um das automatische Durchblättern der Blätter 1-5 ;)
Viele Grüße
Wo0oT
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
10.08.2018 11:06:10
Wo0oT
Hi Robert,
deine Beispieldaten funktionieren tadellos, echt super!
Gerade bin ich dabei deinen Code in meine Originaldaten zu implementieren,
jedoch scheint der Abgleich und/oder die Eintragung der Menge dann nichtmehr zu funktionieren.
Das die Dateien natürlich anders heißen habe ich beachtet und alles was im Code "Ziel.xls" und
"Quell.xls" heist habe ich durch die richtigen Namen ersetzt.
Vielleicht kannst du mir ein paar Tips zu folgenden Fragen geben:
1. Läuft dein Code unabhängig von den Blattnamen der Quell.xls? Denn die Bestellnummern sind
immer unterschiedlich.
2. Was hat es in deinem Code mit "Makro3()" auf sich? Hier steht im Code ein paar mal "Bestellung 1"
bzw. "Bestellung1". Der Blattname ist definitiv jedesmal anders und kann daher so nicht definiert
werden.
3. In der Originalliste gibt es mehr Artikel wie in meiner Beispieldatei. In "Makro3()" steht
unter andeem der Code

Selection.AutoFill Destination:=Range("F5:F195")

Ich habe die Range einfach meiner Originaldatei angepasst (z.B. F5:F800). Dennoch funktioniert
der Abgleich und die Eintragung nicht
Viele Grüße
Wo0oT
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
10.08.2018 11:34:24
Robert
Hallo Wo0oT,
zu Deinen Fragen:
1. Läuft dein Code unabhängig von den Blattnamen der Quell.xls? Denn die Bestellnummern sind
immer unterschiedlich.

Ja, fast. Das Makro durchläuft alle Tabellen und arbeitet die Daten aus den Tabellen ab. Außer bei der Tabelle GO, in der Du schon einen Button eingebaut hast. Die wird übersprungen. Sollte diese Tabelle bei Dir einen anderen Namen haben, muss die Zeile
If wksQ.Name  "GO" Then

entsprechend angepasst werden.
2. Was hat es in deinem Code mit "Makro3()" auf sich? Hier steht im Code ein paar mal "Bestellung 1"
bzw. "Bestellung1". Der Blattname ist definitiv jedesmal anders und kann daher so nicht definiert
werden.
3. In der Originalliste gibt es mehr Artikel wie in meiner Beispieldatei. In "Makro3()" steht
unter andeem der Code...

Das Makro3 kannst Du löschen. Das hatte ich mal kurzzeitig angelegt, um etwas auszuprobieren. ich habe nur vergessen, es wieder zu löschen.
In meinem Makro wird mit der Zeile
lZ = .Range("D" & Rows.Count).End(xlUp).Row

die letzte befüllte Zelle in der Spalte D der Tabelle "1" in der Ziel.xls ermittelt. Mit den Zeilen
With wksZ.Range("F5:F" & lZ)
.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],'[" & wkbQ.Name & "]" & wksQ.Name & "'!C3:C4,2,FALSE), _
"""")"
.Value = .Value
End With

wird dann in der Spalte F von der 5. Zeile bis zu der oben ermittelten letzten Zeile in Spalte D die Formel zur Berechnung eingetragen und anschließend durch die Werte ersetzt.
Das Makro müsste also eigentlich den komplette Bereich F5:F800 abdecken, wenn in der Tabelle "1" auch im Bereich D5:D800 die entsprechenden Artikelnummern stehen.
Ohne Deine Datei zu kennen, kann ich nicht mehr dazu sagen.
Gruß
Robert
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
10.08.2018 13:19:09
Wo0oT
Hi Robert,
bin der Lösung auf der Spur ;). Das er Anfangs garnichts eintrug lag daran, dass in meiner Gesamtliste
in Spalte D vor den Artikelnummern noch ein paar Buchstaben standen die aber ab und an wechseln.
Da zwischen den Buchstabden und der Artikel Nummer ein Leerzeichen ist (z.B. "ABC 100001") dachte ich,
dass die Artikel Nummer trotzdem gefunden wird. Das habe ich nun korrigiert und lese über eine andere
Spalte aus.
Jetzt bin ich quasi kurz vorm Ziel, aber das Makro scheint Probleme mit Filtern zu haben (in der Gesamtliste wird damit gearbeitet) und insbesondere damit, dass durch Filter ab und an eine Zeile ausgeblendet ist, also z.B. so:
Artikelnummer
Zeile 56 12345
Zeile 57 12346
(Zeile 58 ausgeblendet)
Zeile 59 12347
Bin aber dran und finde sicher bald die Lösung. Auf die Filter kann ich leider nicht verzichten.
Ich wünsche dir ein schönes Wochenende (werd mich erst danach wieder melden ;) und nochmals vielen Dank.
Viele Grüße
Wo0oT
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
10.08.2018 15:00:49
Robert
Hallo Wo0oT,
die Artikel-Nr. müssen in beiden Tabellen gleich sein, sonst kann das Makro die entsprechenden Werte nicht zuordnen.
Wenn Du in der Ziel.xls (oder wie die auch immer bei Dir heißt) Zeilen ausgeblendet hast, hat mein Makro natürlich ein Problem. In den ausgeblendeten Zellen wird die Formel nicht eingetragen und somit erhälst Du dort nicht die komplette Bestellung.
In beiliegender Datei habe ich ein zweites Makro eingebaut (DatenUebertragen2), in dem die Befüllung der Ziel.xls anders erfolgt. In dieser Version erfolgt sie auch bei gefilterten Listen. Um sicher zu sein, dass keine alten Werte übernommen werden, werden die Daten in der Spalte F ab Zeile 5 vorher gelöscht. Außerdem habe ich noch eine kleine Sicherung eingebaut. Wenn eine oder mehrere Artikel-Nr. aus der Quell.xls in der Ziel.xls nicht gefunden werden, werden diese am Ende des Makros mit dem Namen der Tabelle aus der Quell.xls in einer MsgBox angegeben.
Gruß
Robert
https://www.herber.de/bbs/user/123264.xls
Anzeige
AW: Artikelnummern abgleichen - Datei Speichern
14.08.2018 06:56:25
Wo0oT
Hi Robert,
ich habe deinen aktuellsten Code genommen und meinem angepasst und bin kurz vorm Ziel
(ein paar kleine Bugs stehen noch im Weg, die erst jetzt auffallen wo die Nummerfolgen abgeglichen werden). Auch die Meldung falls Artikel nicht gefunden werden ist eine astreine Idee und sehr wichtig
und nützlich für mich. Hab vielen Dank! Echt super.
Gruß Wo0oT
Gerne und Danke für die Rückmeldung (owT)
14.08.2018 14:34:48
Robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige