Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
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 Steuerelemente in Laufzeit, unterschiedlich

VBA Steuerelemente in Laufzeit, unterschiedlich
04.03.2019 01:44:55
Markus
Hallo zusammen,
ich bin ganz neu hier, hoffe ich mache das jetzt alles richtig. :D
Ich habe eine Datei, in der Ich eine Userform habe, um eine Bestellung aufzugeben.
Dabei möchte ich über Kombinationfelder Artikelnummern eingeben und während der eingabe die jeweils passenden Artikelnummern als Dropdown erhalten.
Jetzt habe ich das mit dem Dropdown und allem woweit hinbekommen,
allerdings habe ich das Problem, wenn ich einen Wert ausgewählt habe, der dann im ersten Kombinationsfeld steht und ich gebe in einem anderen Feld einen anderen Wert ein, wird das Dropdown nicht mehr angezeigt und der Wert auch für das erste Kombinationfeld übernommen. Also alles ein bisschen zu abhängig.
Zur erklärung ich habe die Kombinationsfelder in der Userform in Laufzeit erstellt und über eine Klasse das Change event erstellt, dass für alle Kombinationsfelder gleich sein soll, nur eben, dass es auch möglich ist, dass die Werte unterschiedlich sein können.
Ich habe von Excel und VBA schon Ahnung. Muss aber dazu sagen, dass dies das erste Projekt ist, bei dem ich Klassenmodule verwende. Ich würde auch denken das der Fehler innerhalb des Klassenmoduls oder im Aufruf des Klassenmoduls innerhalb der Userform liegt.
Die Datei, die ich angehängt habe ist nur ein kleiner Nachbau, der aber das exakt selbe Problem aufweist.
Ich hoffe mir kann jemand von euch helfen.
Danke schonmal im Voraus. ;)
___________________________________________________________________________
https://www.herber.de/bbs/user/128074.xlsm

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Steuerelemente in Laufzeit, unterschiedlich
04.03.2019 09:17:49
Nepumuk
Hallo Markus,
wie soll ich da etwas testen wenn die Comboboxen keinen Wert enthalten?
Gruß
Nepumuk
AW: VBA Steuerelemente in Laufzeit, unterschiedlich
04.03.2019 13:23:27
Markus
Die Comboboxen sollen mit den Werten der Spalte A aus Tabelle 1 gefüllt werden.
Es geht ja auch nicht explizit draum was dort steht, sondern vielmehr darum, dass
- wenn man zum beispiel in der ersten Kombobox anfängt zu schreiben:
öffnet sich automatisch die Dropdownliste mit den Namen, die den eingegebenen Text enthalten
(Das funktiniert soweit ja auch)
- beginnt man nun aber in einer weiteren Kombobox zu schreiben, erscheint nicht die komplette
Dropdownliste, sondern nur der in der ersten Kombobox eingetragene Wert. Bzw. ändert sich der Wert
in der ersten Kombobox auf den Wert der in der anderen Kombobox eingetragen wird.
ich weiß, dass dies auch daran liegt, das in der refernzierten Zelle noch der Wert steht.
Lösche ich diesen aber per VBA nach dem bestätigen eines eintrags in der ersten Kombobox, wird auch
der Wert der Komboboxen gelöscht.
Also irgenwo ist da eine zu direkte Abhängigkeit der einzelnen Kombobox Werte von dem Event-Wert der Klasse. Ich hab auch gelesen, dass es irgenwie über Instanzen erstellen möglich sein soll.
Da ich aber wie gesagt bei Klassenmodulen ganz unerfahren bin, weiß ich nicht wie ich da dann was deklarieren muss oder so.
Anzeige
AW: VBA Steuerelemente in Laufzeit, unterschiedlich
04.03.2019 19:11:48
Nepumuk
Hallo Markus,
lade bitte eine Beispielmappe hoch in der ich den Fehler nachvollziehen kann. Denn wenn ich da was ändere sieht der Code zu 90% anders aus.
Gruß
Nepumuk
VBA Controls at Runtime, unterschiedliche Werte
07.03.2019 15:46:31
Markus
Hallo Nepumuk,
erst mal schon mal einmal Danke, dass du dich mit meinem Eintrag und Problem beschftigst.
Ich habe dich eine Excel Tabelle Hochgeladen.
Das ist fast 1 zu 1, der Teil aus der Tabelle, der Probleme bereitet. Die Orginale Mappe kann ich ausgrund von Datenschutzgründen nicht Hochladen.
Wie gesagt, ich denke das ich weiß, wo ungefähr der Fehler liegt. Da ich mich mit Klassenmodulen nicht auskenne.
Im Grunde denke ich, dass das Problem ist, dass excel für jede Kombobox die der Klasse angehört eine Instanz erstellen muss, damit bei dem Klassen-Event nur die eine Kombobox reagiert.
Bei mir wird es vermutlich so sein, dass ich eine Klasse habe, auf deren Klassen-Event alle Komboboxen die dieser Klasse angehören gleich reagiert. Das möchte ich ja vermeiden.
Gruß Markus
Anzeige
AW: VBA Controls at Runtime, unterschiedliche Werte
07.03.2019 16:48:30
Nepumuk
Hallo Markus,
ich kann natürlich den Change-Event in der Klassen nicht testen, aber ich habe dir das Ganze mal sauber gemacht.
https://www.herber.de/bbs/user/128182.xlsm
Gruß
Nepumuk
AW: VBA Controls at Runtime, unterschiedliche Werte
08.03.2019 12:28:44
Markus
Hallo Nepumuk,
leider funktioniert es immernoch nicht so, wie ich es brauche.
Ich danke dir aber für das bereinigen meines Codes.
Eventuell lässt sich das Problem auch anders lösen.
Und zwar könnte ich mir auch vorstellen, das es funktioniert, wenn man das, was in der Tabelle passiert in VBA erledigen kann.
Das bedeutet, ich bräuchte dann eine Methode in VBA die folgendes bei einem Change-Event tut:
- Werte aus einer Spalte nach dem in der Combobox eingegebenen Text durchsuchen
- Die zutreffenden Werte herausfiltern und als .RowSource der Combobox nutzen
- Den Dropdown der Combobox anzeigen
und bei der Auswahl eines Wertes aus der Dropdown-Liste -ODER- bei Bestätigenung mit ENTER -ODER- bei Verlassen der Combobox (also so was wie "_LostFocus", ich weis das gib es bei Klassenmodulen nicht), soll der aktuell ausgewählte oder gewählte Wert in die Combobox eingetragen werden.
Richtig Spitze, wäre dass dies dann in einem Klassenmodul so funktioniert, dass es wie bisher mehrere Comboboxen gibt, für die dieses event dann unabhängig von den anderen funktioniert.
Gruß Markus
Anzeige
AW: VBA Controls at Runtime, unterschiedliche Werte
08.03.2019 12:58:56
Nepumuk
Hallo Markus,
leider kann ich deiner Beschreibung nicht folgen. Lade doch einfach mal eine Mappe hoch mit den Comboboxen hoch die schon im Entwurfsmodus erstellt wurden. Denn aus deiner Klasse geht nicht hervor was du eigentlich willst.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige