VBA - Textfeld in Abhängigkeit von mehreren Optionsfeldern und ComboBoxen füllen
#1
Hallo liebe VBA-Freunde,

stehe nun leider vor dem nächsten Dilemma in meinem Projekt.

Habe nun ein Textfeld in meiner Userform hinzugefügt.
Diese soll abhängig von den Auswahlen bei insgesamt 13 Optionsfelder (4 Gruppen) und einer ComboBox gefüllt werden.

Die UserForm ist in etwa so gestaltet:

System (1. Gruppe): Optionsfeld 1 oder Optionsfeld 2
Bereich (2. Gruppe): Optionsfeld 3 oder Optionsfeld 4
WST ("3. Gruppe"): ComboBox 1 (Auswahl: 100, 125 oder 150)
Breite (4. Gruppe): Optionsfeld 5, Optionsfeld 6, Optionsfeld 7, Optionsfeld 8, Optionsfeld 9 oder Optionsfeld 10
Höhe (5. Gruppe): Optionsfeld 1, Optionsfeld 2 oder Optionsfeld 3

In jeder Gruppe muss eine Option bzw. bei der ComboBox eine Auswahl getroffen werden.
Je nachdem, welche Auswahlen getroffen werden, soll nach Click auf den CommandButton 3 die Artikelnummer in Textfeld "txt_art" erscheinen.

Ich hoffe ihr könnt mir bei diesem Problem helfen Smile

Vielen Dank im Voraus für eure soziale Ader Wink

Beste Grüße,
Daniel
[-] Folgende(r) 1 Nutzer sagt Danke an ECWetzi für diesen Beitrag:
  • kokotte
Top
#2
Hallo Daniel,
da ich das aus verständlichen Gründen nicht nachbauen will, hier nur eine Anregung:
1. Baue eine Routine (Private Sub oder Function), die aus den Werten der Optionbuttons und Combobox den Wert für das textfeld zusammenbaut und dort einträgt.
Dabei muss natürlich jeweils getestet werden, ob schon eine Auswahl durch den User vorgenommen wurde.
2. Füge den Aufruf dieser Routine in die Change-Routine (z.B. Private Sub Optionbutton1_Change) aller Optionbuttons und der Combobox ein.
Gruß der AlteDresdner (Win11, Off2021)
Top
#3
Hallöchen,

die Zusammenstellung wird, wie Du es beschreibst, im den Click-Code des CommandButton ausgelöst. Man kann das dann direkt in dem Code programmieren oder, wie vorgeschlagen auslagern.
Wenn Du in Deiner Artikelnummer nur Zahlen hast, könntest Du sie einfach berechnen. Das Prinzip wäre dann
Code:
Sub test()
a = True
b = False
c = True
MsgBox IIf(a, "123", "") & IIf(b, "456", "") & IIf(c, "789", "")
End Sub
a, b und c wären sozusagen die wahrheitswerte Deiner Optionbuttons

Den Test, ob in einer Gruppe was gewählt ist, könnte man nach diesem Prinzip realisieren. Hier ist im ersten Teil in der Gruppe a/b nix gewählt, im zweiten Teil dann b.

Code:
Sub test1()
a = False
b = False
c = True
If (a Or b) Then
MsgBox IIf(a, "123", "") & IIf(b, "456", "") & IIf(c, "789", "")
Else
MsgBox "In Gruppe ab keine Option gewählt!"
End If
'zweiter Test, eine Option gewaehlt
b = True
If (a Or b) Then
MsgBox IIf(a, "123", "") & IIf(b, "456", "") & IIf(c, "789", "")
Else
MsgBox "In Gruppe ab keine Option gewählt!"
End If
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Vielen Dank schon mal für eure Hilfe! :)
Werd das heut Abend gleich mal versuchen.

Sollte ich nicht weiter kommen, darf ich euch dann meine aktuelle Datei mal senden, dass ihr drüber schaun könnt? :)

Wünsch euch achon mal einen schönen Abend Zusammen :))
Top
#5
Bitte, lade eine Beispieldatei hoch !
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#6
Hallo Daniel,

schade, dass mein Vorschlag hier doch nicht das Richtige war, um darauf aufbauen zu können.

Gruß Uwe
Top
#7
Hallo Uwe,

Deine Antwort war das Richtige und hat super funktioniert.
Das hier ist schon ein neues Problem. :16:
Top
#8

.xlsm   Kalkulator Beispieldatei.xlsm (Größe: 21,91 KB / Downloads: 17)
Schönen Mittag Zusammen Smile

Habe jetzt mal eine separate Beispieldatei gemacht (angehängt).

Ich stelle mir das so vor (2 Beispiele):

System: System A
Bereich: Bereich B
EF / DF: EF
Sonderelement: Hier hab ich irgendwo noch einen Fehler. Muss ich nochmals drüber schauen. Aber rein theoretisch (Ja ist nicht angeklickt)
WST: 145
Breite: 860
Höhe: 2110
Im Textfeld, in dem jetzt Art-Nr. Element steht, soll nach Klick auf den Button Bestätigen die Artikelnummer ABC123EF erscheinen.

System: System B
Bereich: Bereich A
EF / DF: DF
Sonderelement: Hier hab ich irgendwo noch einen Fehler. Muss ich nochmals drüber schauen. Aber rein theoretisch (Ja ist angeklickt und SELA ist ausgewählt.
WST: 150
Breite: 736-859
Höhe: 1986-2109
Im Textfeld, in dem jetzt Art-Nr. Element steht, soll nach Klick auf den Button Bestätigen die Artikelnummer XYZ789DF erscheinen.

Wenn ihr lust und zeit habt, könnt ihr ja auch mal über die Beispieldatei drüber schauen Smile

Danke vorab!!

Grüße,
Daniel
Top
#9
Meinen dummen Fehler, mit der Gruppe Sonderelement habe ich jetzt behoben :20: 
Die ComboBox ist jezt auf jeden Fall gefüllt, wie ich es möchte.

Fehlt nur noch, dass meine Artikelnummer mit Klick auf Bestätigen im Textfeld generiert wird.

Step by Step wird alles Angel
Top
#10
Hallo Zusammen, 
Kann es sein, dass es so wie ich mir das vorstelle, nicht umsetzbar ist? Huh

Danke im Voraus.

Gruß,
Daniel
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste