ich arbeite seit ein paar Tagen mit VBA und wurschtel mich da so ein wenig rein.
zu meinem Problem habe ich hier keine lösung finden können, weswegen ich nun hier poste. Ich hoffe ihr könnt mir helfen.
Ich habe eine Userform zur Dateneingabe erstellt. Zur Problemlösung gehe ich gerade nach Eingabemöglichkeiten vor, weswegen der Code hier so kurz ist.
Dieser sieht nun wie folgt aus:
Private Sub Boxes()
ComboBox2.Enabled = truth
ComboBox3.Enabled = truth
TextBox2.Enabled = truth
TextBox3.Enabled = truth
Label3.Enabled = truth
Label4.Enabled = truth
Label5.Enabled = truth
Label9.Enabled = truth
End Sub
Public Sub Combobox1_afterupdate()
Dim truth As Boolean
If ComboBox1.Text = "Beratung" Then
truth = False
Else
truth = True
End If
Boxes
MsgBox truth
End Sub
Der Code soll folgendes machen: Wenn in der Combobox1 "Beratung" eingegeben wird, sollen alle anderen Textboxes und Labels deaktiviert werden, damit keine Eingabe mehr möglich ist. Jedoch, wenn man sich aus versehen verklicken haben sollte, sollen die Felder bei richtger Eingabe wieder zur Bearbeitung geöffnet werden.
(Die Msgbox ist gerade nur zur Überprüfung da und wird wieder entfernt)
Jetzt hab ich das Problem, dass die Funktion Boxes nur einmal ausgeführt wird. Dummerweis immer mit False. Wenn ich den Boxes-Code Manuel in die Else-Teil von afterupdate einfüge klappt alles. Die Boolian-Variable wird auch richtig gesetzt, aber... die Felder bleiben dennoch gesperrt.
Für jeden Denkanstoß bin ich sehr dankbar!
Viele Grüße
Marius