22/08/2020, 22:02
Vba da sadece texbox saat değeri girilmesini istiyorum ve bunu sınırlamak istiyorum. Yanlış bir giriş olduğunda uyarı almasını istiyorum nasıl sağlaya bilirim.
Private Sub TxtDk_Change()
If Len(TxtDk.Text) = 0 Then Exit Sub
If Left(Me.TxtDk.Text, 1) > 5 Then
TxtDk.SelStart = 0
TxtDk.SelLength = 1
End If
If Me.TxtDk.Text > 59 Then
TxtDk.SelStart = 0
TxtDk.SelLength = 1
End If
End Sub
Private Sub TxtDk_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Not IsNumeric(Chr(KeyAscii)) Or _
(Len(Me.ActiveControl.Text) >= 2 And _
ActiveControl.SelLength = 0) Then KeyAscii = 0
End Sub
Private Sub TxtSaat_Change()
If Len(TxtSaat.Text) = 0 Then Exit Sub
If Left(Me.TxtSaat.Text, 1) > 2 Then
TxtSaat.SelStart = 0
TxtSaat.SelLength = 1
End If
If Me.TxtSaat.Text > 23 And Me.TxtSaat.Text < 30 Then
TxtSaat.SelStart = 1
TxtSaat.SelLength = 1
ElseIf Me.TxtSaat.Text > 29 Then
TxtSaat.SelStart = 0
TxtSaat.SelLength = 2
End If
End Sub
Private Sub TxtSaat_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Not IsNumeric(Chr(KeyAscii)) Or _
(Len(Me.ActiveControl.Text) >= 2 And _
ActiveControl.SelLength = 0) Then KeyAscii = 0
End Sub
(23/08/2020, 00:48)berduş yazdı: [ -> ]saat kutusunun adı: TxtSaat
dakika kutusunun adı:TxtDk
Private Sub TxtDk_Change()
If Len(TxtDk.Text) = 0 Then Exit Sub
If Left(Me.TxtDk.Text, 1) > 5 Then
TxtDk.SelStart = 0
TxtDk.SelLength = 1
End If
If Me.TxtDk.Text > 59 Then
TxtDk.SelStart = 0
TxtDk.SelLength = 1
End If
End Sub
Private Sub TxtDk_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Not IsNumeric(Chr(KeyAscii)) Or _
(Len(Me.ActiveControl.Text) >= 2 And _
ActiveControl.SelLength = 0) Then KeyAscii = 0
End Sub
Private Sub TxtSaat_Change()
If Len(TxtSaat.Text) = 0 Then Exit Sub
If Left(Me.TxtSaat.Text, 1) > 2 Then
TxtSaat.SelStart = 0
TxtSaat.SelLength = 1
End If
If Me.TxtSaat.Text > 23 And Me.TxtSaat.Text < 30 Then
TxtSaat.SelStart = 1
TxtSaat.SelLength = 1
ElseIf Me.TxtSaat.Text > 29 Then
TxtSaat.SelStart = 0
TxtSaat.SelLength = 2
End If
End Sub
Private Sub TxtSaat_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
If Not IsNumeric(Chr(KeyAscii)) Or _
(Len(Me.ActiveControl.Text) >= 2 And _
ActiveControl.SelLength = 0) Then KeyAscii = 0
End Sub
çıkıldıgında olayı yapılmamıştır
Ne Yazıkki Hata Alıyorum Saat Bilgisi Girilecek Yer Tek bir Tex Boz değil.