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

Speicherung zusammenhängender ComboBoxen

Speicherung zusammenhängender ComboBoxen
15.09.2022 17:08:52
Matthias
Hallo,
es gab schon einen Beitrag von mir der abgelaufen ist.
https://www.herber.de/forum/archiv/1896to1900/1897833_Userform_TextBox_mit_und_ohne_ComboBox.html
In folgender Datei https://www.herber.de/bbs/user/155197.xlsm
bekomme ich es nicht auf die Reihe das aus einer UserForm, die Anzahl entsprechend in eine Spalte geschrieben wird und die Größe in die folgende.
Die Namen und auch artikelbezeichnungen funktionieren tadellos.
Da es schon einen Thread gibt spare ich mir umständliche erklärversuche.
Thorsten (Oberschlumpf) hat mir schon geholfen den Code deutlich zu verschlanken. Da immer noch ein mega dankeschön dafür.
herzlichen Dank
Matthias

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherung zusammenhängender ComboBoxen
15.09.2022 17:11:45
Oberschlumpf
Hey, Moin Moin!
Na, DAS ging ja ma schnell! :-)
(wäre schön, wenn viel mehr Fragende so ein Re-Antwort-Verhalten zeigen könnten)
Ich versuch mein Glück - außer, wer anders is schneller, bevor ich fertig bin :-)
Ciao
Thorsten
ich kann nicht anders...
15.09.2022 18:57:08
Oberschlumpf
Hi Matthias,
...jetzt kommt viel Text, der dich - erstmal - überhaupt gar nicht zu einer besser funktionierenden Datei bringen wird, aber meiner Meinung nach trotzdem notwendig ist.
ich beschäftige mich nun seit ca 1 Std sehr detailiert mit deiner neuen Datei - aber ich finde noch immer keinen Ansatz, wie ich dir helfen kann, SO DASS meine Hilfe mit der bestehenden Datei AUCH MIR gefällt.
Denn du hast sehr viel unnötigen Code eingebaut, du verwendest so viele Tabellen, von denen meiner Meinung nach nur 2 Tabellen ausreichen würden, nämlich "Lagerstand" und "Fahrer".
Wozu benötigst du all die anderen Tabellen? (ok, der Grund für so viel kann natürlich sein, weil du dich mit Excel in Verbindung mit VBA nicht so gut auskennst).
Aber glaub mir, die 2 erwähnten Tabellen reichen voll aus.
Aber...
Dazu ist es notwendig, dass ich deine Datei komplett auf links drehe!

Das heißt, ...
1) ich würde (zumindest erst mal) in Userform1 die VBA-Namen aller Controls umbenennen (z Bsp lbl_JN, cmb_JN_Anz, cmb_JN_Groe = Label, Anzahl, Größe für Jacke Navy - entsprechend angepasst für alle anderen Labels + ComboBoxen)
So wäre sichergestellt, dass immer 3 Controls einen eindeutigen Namensteil haben - beim Bsp = JN - und so per VBA diese 3 Controls gegenseitig beeinflussbar/überwachbar wären
2) denn wenn ich 1) so einsetzen würde, dann könnte man den Anwender dazu "zwingen" immer erst mal eine Größe auszuwählen - bevor man - eine Anzahl dazu auswählen kann
3) und wenn ich 2) durchführe, könnte ich per VBA in den ComboBoxen für Anzahl - sofort! - nur die Werte zur Verfügung stellen, die in Tabelle "Lagerstand" für die zuvor ausgewählte Größe je Art eingetragen sind - und! - bei z Bsp Größenauswahl = "XS" könnte man alle Anzahl-ComboBoxen rot einfärben, für die es in Tabelle "Lagerstand" keine Einträge gibt!
jetzt gerade wären für Größe XS nur Pilot Jacke Navy und T-Shirt Navy verfügbar - alles andere = ROT!
Somit wüsste der Anwender sofort, dass für Größe XS erst mal viele neue Klamotten eingekauft werden müssten, bevor man wieder Fahrer mit Größe XS einstellen könnte.
So, puhh..anstrengend, so ne Romane zu schreiben^^ :-)
Im Moment denk ich, dass auch deine anderen Userform2 + Userform3 mit den nur 2 genannten Tabellen auskommen würden.
ABER ZUERST MAL: WAS HÄLTST DUU VON DIESER IDEE?
Bis ich so weit bin, eine erste, ganz neue Datei zeigen zu können, wird natürlich n paar Tage dauern.
Und es kann auch sein, dass ich länger brauche, als dieser neue Beitrag von dir im Forum verfügbar ist - bevor wieder das Archiv "ruft".
Dann müsstest du wieder einen neuen Beitrag erstellen.
Aber "das Schlimmste" könnte sein:
ICH hab mit all meinen bisherigen Überlegungen irgdwo einen Denkfehler (den ich noch nicht sehe^^ :-P:-) ), und es ist gar nicht möglich, mit nur 2 Tabellen das Ganze umsetzen zu können.
Das Ergebnis wäre dann: In einigen? mehreren? Tagen wärst du genau da, wo du jetzt bist - nämlich keinen Schritt weiter!

So, dein Feedback bitte :-)
Ciao
Thorsten
Anzeige
AW: ich kann nicht anders...
15.09.2022 20:34:58
Matthias
Hallo Thorsten,
zu aller erst mal wieder vielen Dank für deine Unterstützung.
Zu 1) Das mit den Controls gleich benennen war ja auch mein Ansatz, so ist immer nach dem "_" der Name gleich. Diese umzubenennen wäre daher kein Problem und würde mich nicht im geringsten stören.
Zu 2) und 3) mir gefällt der Ansatz sehr gut,
Was ich jedoch nicht glaube ist das nur mit den 2 Tabellen auszukommen ist. Was durchaus daran leigen könnte das ich bei Excel in Verbindung mit VBA nur Basic Wissen habe. Das liegt maßgeblich daran das:
1 ) Ich einen Grundlagerstand habe den man anpassen können muss. und den ich Nachvollziehbar gestalten möchte (Stichwort Inventur) Tabelle Rechentabelle die nirgends in einem Code vorkommt.
2) Ich sowohl für Eingang als auch Ausgang eine Auswertung erstellen können sollte wer was wann wie oft etc... (Tabellen Eingang und Ausgang)
3) die Tabelle Einlagerung falsch benannt ist, diese müsste Wareneingang heißen. Auch hier die Auswertung nach Datum, Artikel, Anzahl und Größe
4) in der bsp Datei nicht angehängt ist, dass aus der UserForm3 ein weiteres workshhet geöffnet wird in der die Auswertung in Form von Pivottabellen angezeigt wird.
Wenn ich jetzt schief gewickelt bin und das alles trotzdem machbar ist, dann schelte mich einen Narren.
Somit bleibt, finde deine Idee grundsätzlich super.
Nur die oben genannten funktionen sollte ich weiterhin haben.
Und wenn es noch 2 Wochen dauert, dauert es noch 2 Wochen.

Sofern es nicht gegen die Forumsregeln verstößt
kann ich auch gerne meine Mail weitergeben und wir können dann ohne Forum weitermachen.
Grüße
Matthias
Anzeige
tja..hätte ja klappen können...
17.09.2022 10:25:46
Oberschlumpf
Hi Matthias,
...nun bin ich meines Denkfehlers "andere Tabellen werden nicht benötigt" durchaus bewusst.
Das hat aber vielleicht leider mehrere Einschränkungen meiner Hilfe zur Folge - sorry.
Mehr dazu später...jetzt wollt ich dich nur informieren, dass ich, soweit ich es kann, weiter am Ball bin - aber auch das dauert vllt noch n paar Stunden.
Ciao erst mal
Thorsten
AW: tja..hätte ja klappen können...
17.09.2022 11:29:04
Matthias
Hi Thorsten,
wie gesagt, bin dankbar um jede Hilfe. Und wenn es Tage dauert, dauert es Tage :)
Ich selbst versuche ja auch immer noch auf dem bestehenden weiter zu machen, das dauert auch länger.
Freue mich auf deine Lösung und hoffe ich kann da noch einiges mit nehmen für andere Projekte :):)
Grüße
Matthias
Anzeige
da bin ich wieder
17.09.2022 18:28:28
Oberschlumpf
Hi Matthias,
ja, ok, ich sehe ein, du benötigst auch die anderen erwähnten Tabellen.
Da ich darin aber keinen Überblick bekomme (ich bin nur wenig Kaufmann), habe ich mich nur um Userform1, Button "Speichern und Weiter" und Button "Speichern und Beenden" gekümmert.
Aber auch "nur damit" hatte ich echt viel zu tun :-)
Fehler 1:
Nach Start von Userform1 ist noch gar nichts ausgewählt. Wenn man nun auf einen der Speicher-Button klickt, endet das in einem Code-Abbruch mit Fehler, weil noch kein Fahrer ausgewählt war
Lösung 1:
Nach jedem Klick auf einen Speicher-Button wird zuerst geprüft, ob ein Fahrer ausgewählt wurde. Wenn nein, wird der Code ohne Fehler verlassen, und es erscheint ein MsgBox-Hinweis
Fehler 2:
Wenn nun ein Fahrer, aber sonst nichts weiter ausgewählt wurde und wieder auf einen Speicher-Button geklickt wird, werden "gnadenlos" alle Artikelnamen + Fahrer in die Tabelle "Ausgang" eingetragen - aber natürlich ohne Anzahl, ohne Größe
Lösung 2:
In Lösung 1 hab ich integriert, dass nach Klick auf einen der Speicher-Button genau so zuerst alle ComboBoxen überprüft werden.
Wenn gar keine Artikel ausgewählt sind, erscheint ein entsprechender MsgBox-Hinweis
Wenn nur Anzahl ausgewählt wurde, erscheint Hinweis, dass zur Anzahl noch die Größenauswahl fehlt
Wenn nur Größe ausgewählt wurde, erscheint Hinweis, dass zur Größe noch die Anzahlauswahl fehlt
So, und wenn nun alles korrekt ausgewählt + Klick auf einen Speicher-Button, dann...
...werden in Tabelle "Ausgang" NUR die Artikel eingetragen, zu denen es auch eine Anzahl- und Größenangabe gibt
...jeder "erlaubte" Artikel wird nur noch 1x und nicht mehrmals in die Tabelle eingetragen
Aus dem Grund, weil nun doch alle anderen Tabellen benötigt werden, hab ich meine Ideen, wie rot gefärbte Comboboxen, wenn im Lager für bestimmte Größe nichts vorhanden ist, oder als Anzahl NUR das als MAX-Wert, was im Lager vorhanden ist, nicht eingebaut, weil ich nicht überblicken kann, ob das mit den zusätzlichen Tabellen kollidieren könnte.
Mein Code ändert aktiv nur Einträge in der Tabelle "Ausgang".
Ob DAS Auswirkung auf eine deiner anderen Tabellen hat, weiß ich nicht. Aufgefallen war es mir nicht, aber vielleicht hab ich ja auch nicht richtig kontrolliert - das müsstest du prüfen.
So, hier erst mal deine Datei so zurück, in der ich zwar meinen Code zum Laufen brachte. Aber ich hab deinen "überflüssigen" Code nicht gelöscht, sondern nur deaktiviert. Und ich habe Kommentare dazu geschrieben, die hofftl für dich verständlich erklären, wieso dein Code falsch ist:
https://www.herber.de/bbs/user/155241.xlsm
Und hier hab ich mir mal die Mühe gemacht, dass ich fast alles an deaktiviertem Code (grüne Zeilen) gelöscht habe.
Besonders in den Codebereichen für jeden Speicher-Button siehst du, wieviel Codezeilen man sparen kann, wenn man den selben Code an mehreren Stellen - nicht immer wieder - wiederholt, sondern diesen in einem allgemeinen Modul in eine eigene Sub auslagert.
Diese Sub kann man an fast jeder beliebigen Stelle aufrufen - nämlich da, wo vorher der selbe Code gestanden hat:
https://www.herber.de/bbs/user/155242.xlsm
So, fertich! :-)
Hoffentlich konnte ich wenigstens ein bisschen helfen - das korrekte Eintragen in Tabelle "Ausgang" funktioniert jetzt zumindest!
Wie ist dein Feedback?
Ciao
Thorsten
Anzeige
AW: da bin ich wieder
17.09.2022 21:18:50
Matthias
Hallo Thorsten,
da ist soooviel geändert worden, das dauert lange alles zu begreifen.
Als feedback gibts schonmal das ich es super finde und ich bedanke mich für die Mühe die du dir gemacht hast.
Zum Rest, generell hat alles in UserForm1 nur auswirkung auf Tabelle Ausgang. UserForm2 auf Tabelle Fahrer und UF3 auf Eingang und Einlagerung.
Werde dann mal alles ausprobieren und versuchen den ganzen Code inklusive Modul zu verstehen.
Du hast nicht nur ein wenig, sondern extrem, geholfen.
Vielen Dank und schönes Wochenende wünsche ich
Matthias
Korrektur
18.09.2022 06:38:01
Oberschlumpf
Moin Matthias,
natürlich freut's mich, wenn's dir so gut gefällt! :-)
Aber (zu meinem Glück..hehe) hast auch du noch nicht alles getestet - dann hätt's dir insgesamt nicht mehr ganz so gut gefallen^^ :-)
Ich hab gerade noch diese Fehler gefunden:
- wenn nach Klick auf "Erstauswahl" für alle Artikel, die mit bestimmter Anzahl vorausgewählt sind, auch die Größe gewählt wurde - dann aber zusätzlich noch z Bsp für "kurze Hose" nur Größe, aber keine Anzahl gewählt wurde...dann wird das bei Klick auf Speichern nicht bemängelt; die kurze Hose wird zwar auch nicht in "Ausgang" eingetragen, aber es hätte ein MsgBox-Hinweis vor dem Speichern kommen müssen!
= hab den Code entsprechend angepasst = auch das funktioniert nun
- aus dem oberen Fehler ergibt sich, wenn ich nun für kurze Hose die Größe auswählte, mich dann aber entscheiden will, die Größe für kurze Hose zu entfernen, geht das bisher nicht, weil bei allen ComboBox-Einträgen der 1. Leereintrag fehlt
Ich fand das irgdwie schicker, dass bei es Zahlen direkt mit 1 (-10) oder 48 (-60) und bei Buchstaben direkt mit XS (-3XL) beginnt - hatte aber nicht berücksichtigt, dass dadurch ein gewolltes Entfernen eines Artikels nicht mehr möglich ist
= hab den ComboBoxen als zusätzliche Auswahl an 1. Stelle wieder einen Leereintrag hinzugefügt = auch hier läufts wieder :-)
hier die korrigierte Version
https://www.herber.de/bbs/user/155246.xlsm
Ciao erst mal
Thorsten
Anzeige
AW: Korrektur
19.09.2022 20:29:43
Matthias
Hallo Thorsten,
als erstes, super was da gemacht hast. Ich hab leider noch nicht alles begriffen was da passiert.
Nur leider doch noch einen kleinen Fehler gefunden. Die Lösung dazu versteckt sich allerdings vor mir.
Wenn in der Anzahl etwas drin steht, und ich die größe auf Null setze bzw. abwählen möchte. Dann führt das zum Abruch. Wird zuerst die Anzahl geleert und dann die größe funktioniert das tadellos.
https://www.herber.de/bbs/user/155265.xlsm
Wenn mir da noch helfen könntest, hoffe ich laaaange nichts mehr zu brauchen.
Vielen Dank mal wieder im voraus
Grüße Matthias
Anzeige
AW: Korrektur
20.09.2022 05:53:16
Oberschlumpf
Hi Matthias,
hier, läuft wieder
https://www.herber.de/bbs/user/155275.xlsm
Ich musste das Sub sbSize etwas korrigieren.
Ich sah, dass du einen weiteren Button eingebaut hast - schau dir mal dazu meinen Kommentar im Code zu dem Button an :-)
Ciao
Thorsten
AW: Korrektur
21.09.2022 08:46:11
Matthias
Hallo Thorsten,
vielen lieben Dank fürs korrigieren.
Jetzt kann ich mich da reinhängen, lesen und lernen, und das ganze für den Eingang adaptieren :)
Hoffe zumindest das ich das dann zusammen bekomme.
Bei dem zusätzlichen Button war ich noch am Testen von verschiedenen Optionen. Muss noch vieles probieren, auch mit dem Modul und was ich dort rein packen kann.
Auf jeden Fall ich viel gelernt schon habe dank dir.
Grüße
Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige