Clever-Excel-Forum

Normale Version: Zuordnung von EAN Nummern mit Sperrung (oder Markierung) nach einmaliger Verwendung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Profis,  


ich versuche mal mein Problem zu beschreiben und hoffe dass ich bei meiner verzweifelten Suche nicht ein bereits gleiches oder sehr ähnliches Problem nebst Lösung übersehen habe.

Ich möchte folgendes in einer Excel Liste vollziehen: (Die Excel Tabelle ist beispielhaft ohne "empfindliche Daten" erstellt)

Im Tabellenblatt 2 (bei mir Artikel genannt) müssen bestimmten Artikeln (konkret: jedem 8.) die auch zusätzlich über das Argument "Bezugsnummer" identifiziert werden können (also immer bei Bezugsnummer 1 in meinem Beispiel) aus dem Tabellenblatt 1 (in meinem Beispiel "EAN" genannt) fortlaufend EAN Nummern zugeordnet werden. Bei allen Formeln die ich mir in den letzten 3 Tagen zusammenegoogelt und -gefummelt habe, wird nicht fortlaufend aus der EAN Liste kopiert, sondern in gleicher Reihenfolge wie bei der jeweiligen "Befüllung" gearbeitet. Sprich, es wird nur jede 8. EAN Nummer verwendet.

Ich möchte dass Zeile für Zeile fortlaufend aus dem Tabellenblatt "EAN" die Nummern in Tabellenblatt "Artikel" (Spalte EAN zugeordnet) kopiert werden. Nach dem Kopieren einer EAN-Nummer sollte diese für weitere Verwendungen gesperrt sein (oder beliebig formatiert z.B. fett,rot,durchgestrichen) und es muss gewährleistet sein, dass eine gesperrte (oder eben beleibig formatierte) EAN-Nummer kein 2. Mal verwendet wird.

Wichtig wäre evtl. noch zu erwähnen, dass die Daten im Tabellenblatt 2 ("Artikel") nach erfolgreicher "EAN-Nummern-Ergänzung" komplett exportiert werden und dieses Blatt mit neuen Daten (ohne Veränderung von Spalten- oder Zeilenbeschriftung; auch die Reihenfolge mit jedem 8. Artikel bleibt unverändert) befüllt wird. Dann muss das oben beschriebene Prozedere erneut automatisiert ablaufen (unter Verwendung von EAN-Nummern die noch nicht zugeordnet/markiert/gesperrt wurden).

Zur Verdeutlichung habe ich je ein Bild der zwei oben erwähnten Tabellenblätter angehängt. Sollte ich hier mit meiner Problembeschreibung komplett ins Klo gegriffen haben, bitte ich um Entschuldigung und Nachsicht. Ich bin noch nicht zu alt um dazuzulernen und hoffe dass meine Beschreibung halbwegs verständlich ist. Ich bedanke mich im Voraus bei allen die mir hier digital in die Achselhöhle greifen. cheers

PS: Ich verwende office professional plus 2010 auf win7 64bit (wahrscheinlich überflüssig aber meine Finger sind grad warm) [attachment=8454] [attachment=8455]
Hallo

ambei eine Beispieldatei mit Makro, die das Problem lösen sollte. Bitte zuerst Originaldaten in die Beispieldatei kopieren und dort teste ob das Makro auch einwandfrei funktioniert. Dann kann es übernommen werden. Bitte einen normalen Button nehmen, kein AktiveX Steuerelement verwenden. Dem kann man kein Makro direkt zuweisen. CommandButton ist einfacher zu programmieren.

mfg  Gast 123
habe ich bei der Erstellung meines Themas komplett versagt oder ist es zu speziell - falls meine Ausführungen unzureichend, verwirrend oder in sonst irgendeiner Form punktuell suboptimal sein sollten, bitte entsprechend feedbacken, damit ich das fixxen kann.
Hallo,

mal auf die Schnelle zwei Formellösungen:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCD
1123456 123456123456
2123457   
3123458   
4123459   
5123460   
6123461   
7123462   
8123463   
9123464 123457123457
10123465   
11123466   
12123467   

ZelleFormel
C1=WENN(REST(ZEILE(A1);8)=1;INDEX(A:A;KÜRZEN((ZEILE(A1)-1)/8;)+1);"")
D1=WENN(REST(ZEILE(A1)-1;8)=0;KKLEINSTE(A:A;KÜRZEN((ZEILE(A1)-1)/8;)+1);"")

Zellebedingte Formatierung...Format
A11: =ZÄHLENWENN($C:$C;$A1)abc
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
(13.12.2016, 14:57)Gast 123 schrieb: [ -> ]Hallo

ambei eine Beispieldatei mit Makro, die das Problem lösen sollte. Bitte zuerst Originaldaten in die Beispieldatei kopieren und dort teste ob das Makro auch einwandfrei funktioniert. Dann kann es übernommen werden. Bitte einen normalen Button nehmen, kein AktiveX Steuerelement verwenden. Dem kann man kein Makro direkt zuweisen. CommandButton ist einfacher zu programmieren.

mfg  Gast 123

Hallo Gast 123,


erstmal lieben Dank für deine schnelle Hilfestellung. Ich habe mal getestet und folgendes festgestellt:

Wenn ich die Daten mit den zugeordneten EAN Nummern herauslösche und neu befülle, müsste das Makro die nächst verfügbaren EAN Nummern verwenden. Dies ist aber nicht der Fall. Ich bekomme die Fehlermeldung "Laufzeitfehler 1004" Anwendungs- oder Objektdefinierter Fehler. Die in "EAN" verwendeten Nummern sind rot markiert und das funktioniert schonmal einwandfrei. Habe ich jetzt etwas falsch gemacht?
Hallo Kali

ich habe gerade deine Angaben rekonstruiert und den Fehler gefunden. Als Programmiere habe ich nicht damit gerechnet das Daten gelöscht werden. Nicht schlimm, können wir korrigieren. Zur Techni,schen Information:  Der Fehler entsteht durch die LastZell Korrektur für die 1. Zeille, bei Zelle B2. (lzArtB = -6)

Das führte dann in der Prüfroutine zum Fehler. Mein Programm prüft ja normaleweise ob die neu eingefügte EAN Nummer in der korrekten Reihenfolge ist, indem es die verherige EAN Nummer überprüft. Bei der Zelle B2 gibt es natürlich keine vorherige Nummer! Korrigiere den Code damit die Prüfung für Zelle B2 übersprungen wird! Würde mich freuen wenn es danach einwandfrei klappt. Rückmeldung waere nett.

mfg  Gast 123. 

Ersetze bitte diese Code Zeile
If i > 2 Then   durch die neue Zeile:
If i > 2 And lzArtB > 1 Then
Ich probiere beide Hilfestellungen aus und kann erstmal nur eins sagen: Ihr seid der Wahnsinn - schnelle, kompetente Hilfe und das ohne wenn und aber - ich bin schon fast gerührt und sage noch einmal herzlichsten Dank an die "UnterdieArmeGreifer"