VBA TextBox’a Sadece Numerik Değer Girmek

Kullandığınız bazı textbox lara sadece nümerik değerlerin girilmesini arzu edebilirsiniz. Alfabetik ve noktalama işaretlerinin girişine engel olmak isteyebilirsiniz. Bunun çok farklı bir yolunu size göstereceğim. Aşağıda ki kodlara bir bakın ve denemeler yapın.

Private Sub TextBox11_Change()
 
If TextBox11.Value > 10000000 Then
TextBox11.Value = ""
End If
 
End Sub

Burada ki 10000000 değerini siz kendiniz belirleyebilirsiniz. Maximum olması gereken bir rakam muhakkak vardır. Bu kodlar sayesinde textbox’ınıza girdiğiniz numerik değer harici bütün değerler 10000000 değerinden hep büyük olarak değerlendirilir ve öylece işleme tabi tutulur. TextBox11.Text olarak kodu değiştirirseniz bu kod çalışmaz. Burada ki ince nokta textbox’ın value özelliğini kullanıyor olmamız.

Bunun haricinde bu işlemin elbette en bilinen yolunu da aşağıya yazıyorum.

Private Sub TextBox11_Change()
 
If Not IsNumeric(TextBox11.Value) Then
TextBox11.Value = ""
End If
 
End Sub

Daha da farklı bir yöntemi de şu şekilde olur. (Bence en şık yöntem)

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 
If Not (KeyAscii >= 48 And KeyAscii <= 57) Then
KeyAscii = 0
End If
 
End Sub

Kolay gele…

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir