TDM Geschrieben 25. Januar 2006 Teilen Geschrieben 25. Januar 2006 Hallo, ich möchte abprüfen ob ein Textfeld eine gültige Zeit enthält Private Sub txtBegin_Exit(ByVal Cancel As MSForms.ReturnBoolean) On Error GoTo ErrorMessage Dim strData As String Dim nH, nM As Integer Dim nPos As Integer Dim bResult As Boolean Dim dtTime As Date strData = Trim(txtBegin.Text) bResult = False If ((Not (InStr(0, strData, ":", 0) = 0)) Or (Not (InStr(0, strData, ".", 0) = 0))) Then nPos = InStr(0, strData, ":") nH = CInt(Left(strData, nPos - 1)) nM = CInt(Right(strData, Len(strData) - (nPos + 1))) If (IsNumeric(nH) And IsNumeric(nM)) Then If ((nH >= 0 And nH < 23) And (nM > 0 And nM < 59)) Then dtTime = TimeSerial(nH, nM, 0) bResult = True Else bResult = False End If End If End If If (Not bResult) Then MsgBox prompt:="ungültige Zeit", buttons:=vbOKOnly, Title:="Fehler: 006" & "in " & Me.Caption & " txtBegin_Exit" txtBegin.setFocus End If Exit Sub ErrorMessage: MsgBox prompt:=Err.Description, buttons:=vbOKOnly, Title:="Fehler: " & CStr(Err.Number) & "in " & Me.Caption & " txtBegin_Exit" End Sub Ich hab das jetzt getestet mit strData = "8:00" nur irgentwie sagt der mir immer: InStr - Unzulässiger Prozeduraufruf oder ungültiges Argument Warum ? Vermutlich seh ich den Wald vor lauter Bäumen nicht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevHB Geschrieben 25. Januar 2006 Teilen Geschrieben 25. Januar 2006 Hi, "Instr" fängt bei 1 an zu Zählen: nPos = Instr(1,...) Gruß DevHB Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 25. Januar 2006 Autor Teilen Geschrieben 25. Januar 2006 *an Kopf klatsch* danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevHB Geschrieben 25. Januar 2006 Teilen Geschrieben 25. Januar 2006 no problem... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.