Bu dosya, bir UserForm üzerindeki TextBox'a yalnızca sayı girilmesine izin vermeyi gösteren örnek bir şablondur. Kullanıcı harf, noktalama işareti veya başka bir karakter yazmaya çalıştığında karakter kabul edilmez. Aynı yöntem kendi formlarınızdaki metin kutularına uyarlanabilir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Kısıtlama yalnızca tuş vuruşlarını denetler. Boşluk, virgül ve nokta da kabul edilmez; ondalıklı sayı gerekiyorsa bu karakterlerin kodları Case satırına eklenir.
Dosya makro içerir (.xlsm); açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- exceldestek.com | exceldepo.com sayfası: A1:F14 aralığında yer alan çalışma sayfasıdır. Sayfada formül bulunmaz; üzerinde formu açan bir CommandButton1 düğmesi vardır.
- UserForm1: İçinde TextBox1 bulunan ve sayı kısıtlamasının uygulandığı form.
- Module1: Formu açan formac makrosunu barındıran standart modül.
Makrolar
- CommandButton1_Click (Sayfa1): Sayfadaki düğmeye tıklandığında UserForm1 formunu açar.
- formac (Module1): Aynı şekilde UserForm1 formunu açar; düğme olmadan makro listesinden de çalıştırılabilir.
- TextBox1_KeyPress (UserForm1): Metin kutusuna basılan her tuşun ASCII kodunu denetler. 0-9 arasındaki rakamlara karşılık gelen kodlar (48-57) kabul edilir; diğer tüm karakterlerde kod 0 yapılarak giriş iptal edilir.
Kısıtlama yalnızca tuş vuruşlarını denetler. Boşluk, virgül ve nokta da kabul edilmez; ondalıklı sayı gerekiyorsa bu karakterlerin kodları Case satırına eklenir.
Nasıl kullanılır
- Dosyayı açın ve güvenlik uyarısında makroları etkinleştirin.
- Sayfadaki düğmeye tıklayarak formu açın; alternatif olarak Alt+F8 ile formac makrosunu çalıştırın.
- Formdaki metin kutusuna yazı yazmayı deneyin; yalnızca rakamlar kabul edilir.
- Kendi çalışmanızda kullanmak için Alt+F11 ile VBA düzenleyicisini açın, UserForm1 içindeki TextBox1_KeyPress prosedürünü kendi formunuzdaki ilgili TextBox'ın olayına kopyalayın.