[
attachment=22957]So Liebe Forum Gemeinde,
nach dem ich mit Sabrina's Tipps und Hilfe ein enormes Stück weitergekommen bin hängt es jetzt mal wieder.
Nach 2 weiteren Tagen Code vorlesen lasen und arbeiten mit Strg C und Strg V und mit Spracheingabe abändern
finde ich nichts mehr an Code Schnippseln woraus ich meinen Fehler finden könnte.
Im Anhang könnt Ihr den aktuellen Code herunterladen.
Beschreibung wobei ich Hilfe Brauche:
Wenn die Excel Tabelle geöffnet wird, wird automatisch die Userform1 geöffnet.
Hier hat der Anwender die Möglichkeit in der Listbox einen Clienten auszuwählen.
Wählt er einen Clienten aus, werden alle in der Tabelle vorhandenen Daten in gesperrtenTextboxen angezeigt und die Commandbuttons
"Client bearbeiten", "Client Stammdaten bearbeiten" aktiv.
Wählt man jetzt "Client bearbeiten" werden alle dafür vorgesehenen Textboxen aktiv, die Textboxen welche aus den Stammdaten
in der Tabelle Ihre Informationen beziehen oder Berechnungen ausführen bleiben gesperrt.
Ich habe bereits einen Code fertig für die Textbox17 und Textbox18. Hierkann der Anwender ein Datum im Format TT.MM.JJJJ
eingeben. Dieses Datum wird geprüft ob es dem Monat und dem Jahre entsprechend richtig ist. Ist es falsch geht eine MsgBox auf mit dem
Fehlerhinweis.
Ist es richtig dann geht es weiter in die nächste Textbox.
Mein Problem ist es, dass ich es nicht schaffe egal mit welchem Code, das im Falle der falschen Eingabe und nach schließen der MsgBox
der Cursor wieder in der Textbox mit der Falscheingabe steht und diese mit gesamten Inhalt markiert ist.
Bildlich gesprochen:
Dateien (auch Bilder) bitte im Forum hochladen!
Der Code für die Textbox17 sieht so aus: Für die Helfer die sich nicht alles herunterladen wollen
Code:
Private Sub TextBox17_Change()
End Sub
Private Sub TextBox17_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Text_Dat_A As String
Dim Text_Dat_B As String
Dim Text_Dat_C As String
Dim Text_Dat_D As String
Text_Dat_A = Format(TextBox15, "MM")
Text_Dat_B = Format(TextBox17, "MM")
Text_Dat_C = Format(TextBox15, "YYYY")
Text_Dat_D = Format(TextBox17, "YYYY")
If Text_Dat_B <> Text_Dat_A Or Text_Dat_D <> Text_Dat_C Then
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Dim Text4 As String
Dim Text5 As String
Dim Text6 As String
Text_Dat_A = Format(TextBox15, "MMMM")
Beep
Beep
Text1 = "Fehler: !!!"
Text2 = "Eingegebenes Datum darf nur innerhalb des"
Text4 = "liegen!!! "
Text5 = " "
Text6 = " "
MsgBox vbLf & Text2 & vbLf & vbLf & Text6 & Text_Dat_A & Text5 & Text_Dat_C & vbLf & vbLf & Text4, vbExclamation, "Meldung"
Cancel = True
TextBox17.SetFocus
With TextBox17
.SetFocus
.SelStart = 1
.SelLength = 8
End With
Else
TextBox37.SetFocus
End If
End Sub
Vielleicht kann einer der Spezialist /en /inen mir den Fehler sagen oder noch besser den Code so abändern das bei Falscher eingabe der Cursor wieder in der Textbox steht und
der Inhalt markiert ist.
Schon mal lieben Dank
Jürgen
PS: Sabrina, habe die Fettnäpfchen alle zur Seite geräumt