Registriert seit: 11.12.2019
Version(en): 2016
Bin absoluter Neuling, was Programmieren angeht.
Ich habe 10 TextBoxen, bei denen man was reinschreiben kann, aber erst wenn in allen etwas steht, soll bei einer Checkbox automatisch der Haken gesetzt werden. Sobald eine leer ist, soll der Haken wieder weg sein.
Hier mal mei Code, bei einer TextBox:
Private Sub TextBox1_Change()
If TextBox1.Value <> "" Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub
aber wie mache ich das jetzt für mehrere TextBoxen?
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
11.12.2019, 23:18
(Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2019, 23:18 von MisterBurns.)
Hallo und willkommen im Forum!
Zuerst mal ein Hinweis: Wie im echten Leben gilt auch im Internet ein Mindestmaß an Höflichkeit. "Hallo", "bitte", "danke" und eine Grußformel sind nicht zuviel verlangt. Das gebietet der Anstand und zeigt Respekt den Helfern gegenüber.
Zu deiner Frage eine Gegenfrage: Was soll das bringen? Die Checkbox soll ja vermutlich eine weitere Aktion auslösen. Um diese Aktion auszulösen wirst du abfragen, ob die Checkbox wahr oder falsch ist. Wieso also nicht gleich abfragen, ob alle 10 Textboxen gefüllt sind und wenn ja, dann soll die Aktion gestartet werden. Den Sinn der Checkbox kann ich nicht erkennen.
Frag alle Textboxen mittels Schleife ab:
Code:
Private Sub TextBox1_AfterUpdate()
Pruefen
End Sub
Private Sub TextBox2_AfterUpdate()
Pruefen
End Sub
'für jede Textbox entsprechend einfügen
Sub Pruefen()
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
objtxt.SetFocus
Exit Sub
Else
'Mach deine andere Aktion
End If
End If
Next
Schöne Grüße
Berni
Registriert seit: 11.12.2019
Version(en): 2016
Servus,
Sorry, das ist im Eifer des Gefechts untergegangen
Es dient für eine Checkliste, dort soll quasi die Checkbox abgehakt sein, wenn alle textboxen ausgefüllt sind.
Mit dieser Checkbox soll anschließend nicht passieren, dient rein der Visualisierung.
Danke, und sorry nochmal für die Unannehmlichkeiten
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
Private Sub TextBox1_Change()
PruefeTextboxen
End Sub
Private Sub TextBox2_Change()
PruefeTextboxen
End Sub
Private Sub TextBox3_Change()
PruefeTextboxen
End Sub
Private Sub TextBox4_Change()
PruefeTextboxen
End Sub
Private Sub TextBox5_Change()
PruefeTextboxen
End Sub
Private Sub TextBox6_Change()
PruefeTextboxen
End Sub
Private Sub TextBox7_Change()
PruefeTextboxen
End Sub
Private Sub TextBox8_Change()
PruefeTextboxen
End Sub
Private Sub TextBox9_Change()
PruefeTextboxen
End Sub
Private Sub TextBox10_Change()
PruefeTextboxen
End Sub
Private Sub PruefeTextboxen()
CheckBox1 = Len(TextBox1) * _
Len(TextBox2) * _
Len(TextBox3) * _
Len(TextBox4) * _
Len(TextBox5) * _
Len(TextBox6) * _
Len(TextBox7) * _
Len(TextBox8) * _
Len(TextBox9) * _
Len(TextBox10) > 0
End Sub
Gruß Uwe
Registriert seit: 11.12.2019
Version(en): 2016
12.12.2019, 12:10
(Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2019, 12:10 von freakY1337.)
Servus
Sind jetzt nur mal 3 TextBoxen.
Wieso bringt er da einen Fehler?
[url=
Dateiupload bitte im Forum! So geht es: Klick mich!]
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo,
zwischen dem Stern und dem Unterstrich gehört ein Leerzeichen, wie es im Code von Uwe auch ist.
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 11.12.2019
Version(en): 2016
Danke für den Hinweis, werde ich dann gleich mal probieren
Registriert seit: 11.12.2019
Version(en): 2016
Funktioniert einwandfrei, ich danke euch :)