textbox ta seçili karakter engeli

Katılım
30 Mart 2005
Mesajlar
86
Merhaba arkadaşlar
Textbox a , (virgül) girilmesini engellemek istiyorum tek bir karektere
yasak konulabilirmi. virgül harici karakterler girilsin
 

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
Aşağıdaki, kodları deneyin.

[vb:1:72f9602fa2]
Private Sub TextBox1_Change()
If TextBox1 = "" Then Exit Sub
If Mid(TextBox1.Value, Len(TextBox1.Value), 1) = "," Then
MsgBox "VİRGÜL YAZILAMAZ"
TextBox1 = ""
End If
End Sub
[/vb:1:72f9602fa2]

veya

[vb:1:72f9602fa2]Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Then MsgBox "VİRGÜL YAZILAMAZ"
End Sub
[/vb:1:72f9602fa2]
 
Katılım
30 Mart 2005
Mesajlar
86
teşekkürler arkadaşlar. ama bi sorun var . vilgül yazılamaz uyarısından sonra sadece virgülü silmesini istiyorum girdiğim sayının tamamını değil
Üsteki kod uyarıdan sonra tamamını siliyor
Altaki kod uyarıdan sonra virgülü ekliyor
 

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
Alttaki kod tam istediğiniz gibidir. Þimdi denedim virgülü hiç bir şekilde yazmadı. Olmazsa dosyanızı gönderin bir bakalım.
 

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
Üstteki koduda aşağıdaki gibi değiştirin.

[vb:1:961facbbbf]Private Sub TextBox1_Change()
If TextBox1 = "" Then Exit Sub
If Mid(TextBox1.Value, Len(TextBox1.Value), 1) = "," Then
MsgBox "VİRGÜL YAZILAMAZ"
TextBox1 = Mid(TextBox1.Value, 1, Len(TextBox1.Value) - 1)
End If
End Sub[/vb:1:961facbbbf]
 
Katılım
30 Mart 2005
Mesajlar
86
Bizim uygulamalarımız ara sıra hata veriyor. sizler gibi usta değiliz.
Bende bu şekilde uyguladım problemim çözüldü

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Then
MsgBox "VİRGÜL YAZILAMAZ"
KeyAscii = 0
End If
End Sub
 
Katılım
30 Mart 2005
Mesajlar
86
leventm bey İkinci gönderdiğin kodu görmemişim ya.
sadece üstekilere göre söylemiştim .afedersin
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selam Arkadaşlar,

Textboxa sadece bir kere "," girişini nasıl sağlarız. İkinci kez girmek istendiğinde "," çalışmasın.
 

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
Aşağıdaki kodu deneyin.

[vb:1:87b3189141]Private Sub TextBox1_Change()
say = Len(TextBox1) - Len(Replace(TextBox1, ",", ""))
If say > 1 Then SendKeys "{bs}"
End Sub
[/vb:1:87b3189141]
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sn. leventm,

Kusura bakmayın bir detayı atlamışım. Bu işi commanbutton ile yapıyorum kodları nasıl düzenleyebiliriz. :hey:
 

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
Bu işi commandbutonla nasıl yaptığınızı açıkçası anlayamadım. Commandbuttondaki kodlarınızı yazarmısınız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kodu aşağıdaki şekilde düzenleyince istediğim oldu ilginize teşekkür ederim.
Virgülü commanbutton ile uyguluyordum.Sizin verdiğiniz koda Locked=True özelliğini ekleyince istediğim oldu. :)

Private Sub TXTEKRAN_Change()
Say = Len(TXTEKRAN) - Len(Replace(TXTEKRAN, ",", ""))
If Say = 1 Then CMDNOTKA.Locked = True
End Sub
 
Üst