TextBox Nesnesinde Sadece Sayı Girişine İzin Ver - Microsoft Excel


UserForm üzerindeki bir TextBox nesnesine karakter girişi yapıldığı zaman sadece sayı girişine ve BackSpace tuşu ile silme işlemine izin veren alternatif bir makro kodudur.

Kod


Option Explicit

Sub SadeceSayiGirisiYap_KeyPress(TextBox As MSForms.TextBox, ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii <> 8 Then
        If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
            KeyAscii = 0
        End If
    End If
End Sub


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    SadeceSayiGirisiYap_KeyPress TextBox1, KeyAscii
End Sub

Kod (Açıklamalı)


Option Explicit

Sub SadeceSayiGirisiYap_KeyPress(TextBox As MSForms.TextBox, ByVal KeyAscii As MSForms.ReturnInteger)
    
    '--------------------------------------------------
    'Eğer KeyAscii değeri olarak 8 değeri
    'geliyorsa (Backspace) bu girişe izin ver.
    '--------------------------------------------------
    If KeyAscii <> 8 Then
        
        '--------------------------------------------------
        'Eğer Chr(KeyAscii) değeri gönderildiğiğinde bu
        'değerin sıfırdan küçük ya da dokuzdan büyük
        'olup olmadığını kontrol et, ona göre çalış.
        '--------------------------------------------------
        If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
        
            '--------------------------------------------------
            'Eğer Chr(KeyAscii) değeri bu aralığın dışındaysa
            'o halde KeyAscii değerini sıfıra yani null'a eşitle.
            '--------------------------------------------------
            KeyAscii = 0
        End If
    End If
End Sub


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    '--------------------------------------------------
    'SadeceSayiGirisiYap_KeyPress olayını UserForm
    'üzerindeki bir TextBox örneğinde kullan.
    '--------------------------------------------------
    SadeceSayiGirisiYap_KeyPress TextBox1, KeyAscii
End Sub

Etiketler
microsoft excel açıklamalı içerik microsoft excel vba