Userformda virgüllü sayı hatası

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Hazırladığım userforma sadece sayılar girilsin diye excel.web.tr nin forumlarını inceledim ve aşağıdaki kodu buldum.

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


ama 0,125 yada 56,98 gibi virgüllü sayı girilmesine izin verilmiyor. bunun için ne yapmak lazım.


Birde TextBox1'e girdiğim sayı ile TextBox2 girdiğim sayı için

TextBox3'e
(TextBox1/TextBox2)*10^6 formülünü uygulatmak istiyorum.

Yardımlarınızı bekliyorum teşekkürler.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sayın leventm, onuda denedim. Bu seferde textboxların içinde sayılar gözükmüyor.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
.....
Bu seferde textboxların içinde sayılar gözükmüyor.
Mümkün değil .... varsa, diğer kodlarınız bu işe sebep oluyordur.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sn. Raider.Hiç bir kod yok. Bütün kodları sildim sadece

Private Sub Ornek_Change()
If Not IsNumeric(TextBox1) Then SendKeys "{BS}"
End Sub

yaptım. ama textbox içine yine bir sayı yazamıyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ne demek istediğinizi anlamadım. Kod gayet güzel çalışıyor.

Textbox1'e aşağıdaki kodu yazın.

[vb:1:dbfd7400bb]Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then SendKeys "{BS}"
End Sub[/vb:1:dbfd7400bb]

Textbox2'ye de aşağıdaki kodu yazın.

[vb:1:dbfd7400bb]Private Sub TextBox2_Change()
On Error Resume Next
If Not IsNumeric(TextBox2) Then SendKeys "{BS}"
TextBox3 = (TextBox1 / TextBox2) * 10 ^ 6
End Sub

[/vb:1:dbfd7400bb]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Private Sub Ornek_Change()
If Not IsNumeric(TextBox1) Then SendKeys "{BS}"
End Sub
Kodunuzda hata var Textbox1 yerine kendi textboxunuzun adını yazın. Yani sizin koda göre aşağıdaki gibi olması gerekir.

[vb:1:5983171fdc]Private Sub Ornek_Change()
If Not IsNumeric(Ornek) Then SendKeys "{BS}"
End Sub
[/vb:1:5983171fdc]
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Haklısınız

Private Sub Ornek_Change()
If Not IsNumeric(Ornek) Then SendKeys "{BS}"
End Sub
yazmam gerekirken

Private Sub Ornek_Change()
If Not IsNumeric(TextBox1) Then SendKeys "{BS}"
End Sub

yazmışım Textbox ismini değiştirmiştim. teşekkürler :mutlu:
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Levent hızlısın bende siz yazarken onu düzeltiyordum. :bravo:
 
Üst