TextBox İlk İki Karaktere Harf Girilebilsin

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Textboxa 14 karakterden oluşan bir rakam/kod girişi yapıyorum. İlk iki karakter bazen alfabetik harfler olabiliyor. İstediğim ilk iki karakter haricinde geri kalan 12 karaktere harf girilemesin. Yeri geldiğinde de ilk iki karakter sayıda olabilsin.



Örnek 1: 23446787909876



Örnek 2:AP890012345665



Örnek 3:SP001234657645
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With TextBox1
        If Len(.Text) <> 14 Then
            MsgBox "Veri Uzunluğu 14 Olmalıdır."
            Cancel = True
            Exit Sub
        End If
        If IsNumeric(Right(.Text, 12)) = False Then
            MsgBox "Son 12 Değer Sayı Olmalıdır."
            Cancel = True
        End If
    End With
End Sub
 

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Ömer Bey çok teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,229
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

RegExp uygulaması;

C++:
Option Explicit

Private Sub TextBox1_Change()
    With CreateObject("VBscript.RegExp")
        Select Case Len(TextBox1)
            Case 2
                .Pattern = "(\w{2}|\d{2})"
                .Global = True
                If Not .Test(TextBox1) Then
                    MsgBox "İlk iki karakter rakam ya da harf olabilir!" & vbCr & vbCr & _
                           "Lütfen uygun kod girişi yapınız!", vbCritical
                    SendKeys "{BS}", True
                End If
            Case 14
                .Pattern = "(\w{2}|\d{2})(\d{12})"
                .Global = True
                If Not .Test(TextBox1) Then
                    MsgBox "Son 12 karakter için sadece rakam girebilirsiniz!" & vbCr & vbCr & _
                           "Lütfen uygun kod girişi yapınız!", vbCritical
                    SendKeys "{BS}", True
                End If
            Case Is > 14: SendKeys "{BS}", True
        End Select
    End With
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Len(TextBox1) <> 14 Then
        Cancel = True
        MsgBox "Kod uzunluğu 14 karakter olmalıdır!" & vbCr & vbCr & _
               "Lütfen uygun kod girişi yapınız!", vbCritical
    End If
End Sub
 

sahir73

Altın Üye
Katılım
17 Nisan 2019
Mesajlar
68
Excel Vers. ve Dili
Office 2016 Professional Plus 32 Bit
Altın Üyelik Bitiş Tarihi
07-07-2027
Korhan bey sağ olun. Çok yardımcı oldunuz. Son ricam ilk iki karakter SP, BT,PK, 62,72,92,DH,RR,UH bunlardan biri ile başlamıyorsa hata mesajı verip temizlemek istiyorum .
 
Üst