Clever-Excel-Forum

Normale Version: VBA - Textfeld in Abhängigkeit von mehreren Optionsfeldern und ComboBoxen füllen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
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.
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
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 :))
Bitte, lade eine Beispieldatei hoch !
Hallo Daniel,

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

Gruß Uwe
Hallo Uwe,

Deine Antwort war das Richtige und hat super funktioniert.
Das hier ist schon ein neues Problem. :16:
[attachment=10302]
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
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
Hallo Zusammen, 
Kann es sein, dass es so wie ich mir das vorstelle, nicht umsetzbar ist? Huh

Danke im Voraus.

Gruß,
Daniel
Seiten: 1 2