textbox içindeki karakter sayısı...

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Merhaba arkadaşlar,
Textbox içindeki karakter sayısına göre mesaj almak istiyorum.

if textbox1 içindeki karakter sayısı <> 11 then
msgbox"TC Kimlik No hatalı!!!"
end if

"textbox1 içindeki karakter sayısı " ifadesini kod ile nasıl düzenleriz?
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
941
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
&#214;rnek
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1.Value) < 11 Then
MsgBox "Girilen de&#287;er 11 rakam olmal&#305;d&#305;r.."
Cancel = True
End If
End Sub

TextBox1'in Maxlength de&#287;erine 11 yaz&#305;n
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Te&#351;ekk&#252;r ederim htsumer...
Peki textbox i&#231;ine girilen verinin say&#305;lsal de&#287;er olmas&#305;n&#305; nas&#305;l denetleyebiliriz?
Yani; iki textbox var bunlardan,
textbox1 i&#231;ine metinsel de&#287;er girilecek aksi halde "Girilen de&#287;er metin de&#287;il!!" mesaj&#305;n&#305; verecek.
textbox2 i&#231;ine say&#305;sal de&#287;er girilecek aksi halde "Girilen de&#287;er say&#305; de&#287;il!!" mesaj&#305; verecek.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,585
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

A&#351;a&#287;&#305;daki kodu kullanabilirsiniz.

Kod:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not Chr(KeyAscii) Like "[!0-9,]" Then
    MsgBox "Girilen de&#287;er metin de&#287;il !", vbCritical
    KeyAscii = 0
    End If
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Chr(KeyAscii) Like "[!0-9,]" Then
    MsgBox "Girilen de&#287;er say&#305; de&#287;il !", vbCritical
    KeyAscii = 0
    End If
End Sub
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Te&#351;ekk&#252;r ederim Korhan Hoca,
&#350;&#246;yle bir uygulama yapacak olsam; D&#252;&#287;meye t&#305;klad&#305;&#287;&#305;mda
e&#287;er textbox1.value= rakam de&#287;ilse
msgbox"de&#287;er say&#305; de&#287;il!!"
else
sayfa1.[a1]=textbox1
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
:cool:
Kod:
If Not IsNumeric(TextBox1.Value) Then
    MsgBox "Girilen Değer sayısal bir değer değil.!!", vbCritical, "UYARI"
    TextBox1.SetFocus
    Exit Sub
    Else
    Sheets("Sayfa1").Range("A1").Value = CDbl(TextBox1.Value)
    Sheets("Sayfa1").Range("A1").NumberFormat = "#,##0.00"
End If
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
941
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Te&#351;ekk&#252;r ederim Korhan Hoca,
&#350;&#246;yle bir uygulama yapacak olsam; D&#252;&#287;meye t&#305;klad&#305;&#287;&#305;mda
e&#287;er textbox1.value= rakam de&#287;ilse
msgbox"de&#287;er say&#305; de&#287;il!!"
else
sayfa1.[a1]=textbox1
Pardon...Korhan bey'in verdi&#287;i 2.kod zaten say&#305; olmazsa yazmamas&#305; i&#231;in neden b&#246;yle bir kod fazlal&#305;&#287;&#305;na mesaj vermesine gerek var anlam&#305;yorum.Bun kullanacak ki&#351;i alt taraf&#305; oraya TC kimlik no girecek..Bu kadar gerizekal&#305;m&#305; kullan&#305;c&#305; "Girdi&#287;iniz say&#305; de&#287;il" vs..
anlam&#305;yorum gitti..........

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

yazd&#305;nm&#305; zaten say&#305;dan ba&#351;ka giremez.
 
Son düzenleme:

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Pardon...Korhan bey'in verdiği 2.kod zaten sayı olmazsa yazmaması için neden böyle bir kod fazlalığına mesaj vermesine gerek var anlamıyorum.Bun kullanacak kişi alt tarafı oraya TC kimlik no girecek..Bu kadar gerizekalımı kullanıcı "Girdiğiniz sayı değil" vs..
anlamıyorum gitti..........

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub

yazdınmı zaten sayıdan başka giremez.
Efendim kullanıcı geri zekalı değil ancak tekrar tekrar konu açmamak için, buradaki kodların değişik çalışmalarda farklı uygulanış biçimlerini öğrenmek istemişti...
Cevaplar için teşekkür ederim.
 
Üst