• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kaç tane (.) olduğunu hangi deyim sayar

Katılım
17 Nisan 2005
Mesajlar
122
Excel Vers. ve Dili
Excel 2010 TR | Excel 2013 TR
Selamlar,

textbox içine girilen (.) değerlerini saymak istiyorum. Kodla nasıl yapabilirim.

Aslında sadece bir (.) değeri girilmesini istiyorum

Örnek:
123.45 (doğru)
123.45.6 (yanlış) => birden fazla (.) varsa uyarı verdireceğim.
 
Kod:
if isnumeric(textbox1.value) Then
   Msgbox "Girdiğiniz değer sayı değil"
   Textbox1.setfocus
End if
işinizi görür ama siz bilirsiniz.
 
ben
if not isnumeric(textbox1.text) then
msgbox "alfanumerik"
end if
yapmış, sonuç alamamıştım bir de isnumeric(textbox1.value) ile deneyeyim.
 
Sayın hsayar,

"1.00" şeklinde girilenlerin yanısıra "1.12.33" gibi girilenleri de numerik olarak kabul ediyor.
 
ozaman tek virgüle izin verir o şekilde

451230,15 > formatlı hali 431.230,15 tir

bölgesel yaralardan ondalık yarcını değiştirmelisiniz.
 
Excel decimal nokta olarak (,) kullanıyor, VBA kod kısmında ise (.) biliyorsunuz. benim problemim kod kısmında aritmetik işlem yaptıracak olmamdan kaynaklanıyor. Şimdi işten çıkıp, eve gidiyorum biraz daha kafa yorayım. Bölgesel ayarları değiştirmeden yapmam gerek çünkü.

İlgilendiğiniz için teşekkür ederim.
 
Kod:
Private Sub CommandButton1_Click()
For a = 1 To Len(TextBox1)
If Mid(TextBox1, a, 1) = "." Then n = n + 1
Next
If n > 1 Then MsgBox "birden fazla nokta var"
End Sub
 
Selamlar,

Alternatif olarak bu kontrol işlemini aşağıdaki kodlar ile yapabilirsiniz. Siz uygularken virgülleri nokta ile değiştirerek kullanabilirsiniz.

Kod:
Private Sub TextBox1_Change()
    Say = Len(TextBox1) - Len(Replace(TextBox1, ",", ""))
    If Say > 1 Then SendKeys "{BS}"
    If Left(TextBox1, 1) = "," Then TextBox1 = "0,"
End Sub
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub
 
Geri
Üst