Soru Telefon numaralarını standardize etmek

Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Merhabalar

"tbCEP1" textbox'ı içerisine telefon numaralarını giriyoruz.
Ancak her kişi farklı alışkanlıklardan ötürü telefonu 0'lı ya da 0'sız giriyor.
bazen de eksik giriliyor.

Bunu standart 11 haneli ve başında 0 olacak şekilde yazılmasını nasıl sağlayabilirim?

Örn: 05334712586

PHP:
Private Sub tbCEP1_Change()
tbCEP1.MaxLength = 11
End Sub
şimdilik sadece 11'haneli olmasını sınırlayabildim.

Teşekkürler
 

Ö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 tbCEP1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If tbCEP1 <> "" And Len(tbCEP1) <> 11 Then
        MsgBox "Hatalı Giriş.", vbCritical
        Cancel = True
    End If
End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Alternatif;

C#:
Private Sub tbCEP1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  liste = "0123456789"
  gec = ""
  For k = 1 To Len(tbCEP1)
    harf = Mid(tbCEP1, k, 1)
    If InStr(liste, harf) > 0 Then
       gec = gec & harf
    End If
  Next k
  If Left(gec, 1) = "0" Then gec = Mid(gec, 2, Len(gec))
 
  If gec <> "" And Len(gec) <> 10 Then
     MsgBox "Hatalı Giriş.", vbCritical
     Cancel = True
  Else
    tbCEP1 = gec
  End If
End Sub
 
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Elinize sağlık. çok güzel çalışıyor.
bunu TC kimlik numaraları ve doğum yılı için de düzenleyeceğim.
 
Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Altın Üyelik Bitiş Tarihi
10-06-2024
Alternatif;

C#:
Private Sub tbCEP1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  liste = "0123456789"
  gec = ""
  For k = 1 To Len(tbCEP1)
    harf = Mid(tbCEP1, k, 1)
    If InStr(liste, harf) > 0 Then
       gec = gec & harf
    End If
  Next k
  If Left(gec, 1) = "0" Then gec = Mid(gec, 2, Len(gec))

  If gec <> "" And Len(gec) <> 10 Then
     MsgBox "Hatalı Giriş.", vbCritical
     Cancel = True
  Else
    tbCEP1 = gec
  End If
End Sub
Burada başında sıfır olmasını istiyor sanırım? biraz daha detaylı gördüğüm kadarıyla.
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Burada başında sıfır olmasını istiyor sanırım? biraz daha detaylı gördüğüm kadarıyla.
Hayır , başında sıfır var ise onu kaldırıyor.
Başında sıfır istiyorsanız. ' ile pasif yapın. 10 u da 11 yapın.
 
Üst