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

Berechnungen in VBA

Berechnungen in VBA
28.06.2013 15:01:04
Sabrina
Hallo liebes Forum,
ich bin ja immer dabei, meine Lagerverwaltung zu optimieren und habe schon tolle Hilfe von euch erhalten.
Nun bin ich auf folgendes Problem gestoßen:
Habe ich denselben Artikel auf verschiedenen Lagerorten, werden beim Ein-/Ausgang ALLE Bestände dieses aktualisiert, nicht NUR auf dem entsprechenden Lager.
Meine Recherche ergab, dass es sinnvoll ist, mit einer zusätzlichen ID-Spalte zu arbeiten. Die habe ich auch eingefügt, aber weiß nicht, wie die Funktion in meinem VBA geändert werden muss.
Eine abgespeckte Version meiner Mappe füge ich hier an.
Dann ist mir noch aufgefallen, wenn ich einen anderen Lagerort auswähle - über die Listbox1 - klappt das nur einmal. Danach wird die Listbox nicht mehr gefüllt. Ich muss erst die Mappe schließen und wieder öffnen, damit das klappt.
https://www.herber.de/bbs/user/86111.xlsm
Wäre super, wenn sich jemand die Zeit nehmen würde, um mal zu schauen. Vielen Dank im voraus.
Sabrina

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnungen in VBA
30.06.2013 05:12:47
fcs
Hallo Sabrina,
Habe ich denselben Artikel auf verschiedenen Lagerorten, werden beim Ein-/Ausgang ALLE Bestände dieses aktualisiert, nicht NUR auf dem entsprechenden Lager.

Dann muss in dem Makro der "Buchen"-Schalfläche geprüft werden, ob Artikel-Nummer UND Lagerort mit den Inhalten der Combobox bzw. Textbox übereinstimmen.
Meine Recherche ergab, dass es sinnvoll ist, mit einer zusätzlichen ID-Spalte zu arbeiten. ...
Eine eindeutige ID jeder Datenzeile ist fast immer hilfreich für Suchvorgänge. In deinem Fall geht es aber auch ohne.
Dazu wird die Anzahl der Spalten für die Listbox, in der die Lagerorte zu dem in der Combobox gewählten Artikel angezeigt werden, auf 2 erhöht. Beim Füllen der Listbox wird dann in der 1. Spalte der Lagerort und der 2. Spalte die Zeile in der Tabelle gespeichert. Auf diese Information kann man nach Klick auf einen Lagerort in der Liste zurückgreifen (Change-Ereignis auswerten). Da die Information der Spalte nur im Hintergrund benötigt wird, wird in den Eigenschaften die Breite der 2. Spalte auf 0 gesetzt - die Nummer der Tabellenzeile in der Listbox also nicht angezeigt.
Dann ist mir noch aufgefallen, wenn ich einen anderen Lagerort auswähle - über die Listbox1 - klappt das nur einmal....
Dies passiert, wenn beim Starten der Userform das Blatt "Artikelliste" nicht das aktive Blatt ist. Hier muss in der Combobox-Chane-Prozedur bei Range und Cells die Referenz auf das Tabellenblatt ergänzt werden, damit unabhängig vom aktiven Blatt die Daten aus dem richtigen Blatt ausgewertet werden.
In deiner Anwendung ist es einfacher/bedienungsfreundlicher, das Change-Ereignis der Listbox auszuwerten und nicht das Doppelklick ereignis.
Ich hab den Code des Userforms und die Eigenschaften der Listbox1 mal entsprechend angepasst.
Zusätzlich ist auch der Farbumschlag der Textbox für den Bestand bei Mindestmengen-Unterschreitung drin.
Da die For-Next-Schleifen für die Suche nach der Zeile mit den ausgewählten Werten jetz entfallen ist dürfte das Userform jetzt auch wesentlich schneller arbeiten. Macht sich aber erst bei mehr als 1000 Datenzeilen deutlich bemerkbar.
Gruß
Franz
https://www.herber.de/bbs/user/86135.xlsm

Anzeige
Dankeschön ...
30.06.2013 07:48:30
Sabrina
... lieber Franz.
Du hast mir den Sonntag gerettet. Ich hatte schon die Befürchtung, den ganzen Mist hinschmeißen zu müssen, denn der Kollege, der das seinerzeit programmiert hat, ist nicht mehr in der Firma.
Deine Aussführung hilft mir zudem sehr, zu verstehen, warum wieso weshalb.
Danke dir recht herzlich.
Liebe Grüße und einen schönen Sonntag
Sabrina

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige