Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Textfeld in Abhängigkeit von mehreren Optionsfeldern und ComboBoxen füllen
#11
Hallo Daniel,

nein, ich hatte Dir ja schon einen Ansatz mit IIf gepostet - mein erstes Beispiel. Hier mal für die ersten beiden Felder, Ausgabe in einer MsgBox statt im Textfeld.

Code:
Private Sub CommandButton3_Click()
MsgBox IIf(Me.ob_system_a, "A", "") & IIf(Me.ob_system_b, "B", "") & _
   IIf(Me.ob_bereich_a, "A", "") & IIf(Me.ob_bereich_b, "B", "")
End Sub


Das könntest Du nun noch weiter treiben bis alle drin sind und dann eben in die TextBox schreiben statt in die MsgBox.
Wenn Du eine Prüfung auf Auswahl haben willst, dann müsstest Du das vorschalten - siehe mein zweiter Ansatz im Beitrag weiter oben. Ansonsten könnte es passieren, das was fehlt Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Leider werde ich das so nicht machen können.
Wenn ich das richtig verstehe, definiert System A den Buchstaben A.

Das klappt aber leider nicht, weil das je nach Kombination immer eine andere Buchstaben und Zahlenkombination ist.
Antworten Top
#13
Hallöchen,

ja, und System_b den Buchstaben B. Das hast Du ja so vorgegeben. Je nachdem, welchen von beiden Du gewählt hast, wird selbiger für die Zeichenkette verwendet. Deswegen hatte ich weiter oben das allgemeine Beispiel, dachte, das man das dadurch besser nachvollziehen kann.

Mit der Anweisung IIf kannst Du für eine Bedingung einen True- und einen False-Part programmieren.

IIf(Me.ob_system_a, "A", "")

Die Prüfung ist hier Me.ob_system_a, also, ob Du den Optionbutton gewählt hast.

Ist er gewählt, wird der Buchstabe A genommen.

Ist er nicht gewählt, ist es ein leerer String.

Da die Buttons ob_system_a und ob_system_b in einem Frame liegen, kann nur einer von beiden gewählt sein.

IIf(Me.ob_system_a, "A", "") & IIf(Me.ob_system_b, "B", "")

Das bringt an der ersten Stelle Deiner Zeichenkette also ein A oder ein B. Ausgenommen, Du hast am Anfang nichts von beiden gewählt, dann würde Deine Zeichenkette hier ein Zeichen kürzer.

Du könntest z.B. A gewählt haben, das wäre der Anfang.

Mit den anderen Optionbuttons geht es dann entsprechend nach dem gleichen Prinzip weiter.
IIf(Me.ob_bereich_a, "A", "") & IIf(Me.ob_bereich_b, "B", "")
bringt Dir für die zweite Stelle ein A oder ein B. Wieder mit der Ausnahme ...

Du könntest z.B. A gewählt haben, das wäre der zweite Buchstabe, die Zeichenkette nun also AA.

Als nächstes käme dann wohl
IIf(Me.ob_ef, "EF", "") & IIf(Me.ob_df, "DF", "")

Du könntest z.B. EF gewählt haben, das wäre der dritte und vierte Buchstabe, die Zeichenkette nun also AAEF.

Durch das " & _" am Ende einer Zeile kannst Du übrigens selbige sozusagen auf der nächsten Zeile fortsetzen. Da brauchst Du nicht so viel nach rechts zu scollen und der Code wird zuweilen etwas übersichtlicher.


Es ist also erst mal etwas Fleißarbeit, die Prüfungen bis zur letzten zu erweitern. Anschließend können wir dann schauen, wie wir z.B. auf die "ungewählten" Ausnahmen reagieren können.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#14
Hallo Schauan,

Vielen Dank nochmals für die Erklärung.
Das hatte ich auch soweit verstanden nur habe ich damit ein Problem.

Angenommen system a definiere ich als “A“ und system b als “B“, so kann es sein, dass sobald ich z.b. Breite 1235 gewählt habe, system a plötzlich als “L“ definiert werden müsste.

Sorry, mit der Reihenfolge der Buchstaben- und Zahlenkombination unserer Artikelnnumern hbe ich nichts zu tun...

Am realistischsten das umzuseten wäre wohl z.b.

mit der Select Case Funktion:

...
Select Case -ob_systema & -ob_systemb & -ob_bereicha & -ob_bereichb & -ob_ef & -ob_df & -cbo_sonderelement ...
            Case “101010(1 wenn der 1. Inhalt aus der combobox gewählt wird aber das erlaubt mir vba leider nicht“))...

Gruß Daniel
Antworten Top
#15
Hallo Daniel,

eine Möglichkeit zum Austausch wäre Mid$

Code:
Sub test()
str1 = "ABCA"
Mid$(str1, 1, 1) = "L"
MsgBox str1
End Sub

Du könnest also in Abhängigkeit weiterer Eingaben bestimmte Stellen des Strings ändern.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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