• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Textbox Exit Olayında Texbox'ta bulunan İstemediğim Karakterler Silinsin

Katılım
8 Mart 2005
Mesajlar
77
Excel Vers. ve Dili
EXCEL 2003 TR
Selamlar,

Textbox Exit Olayında Texbox'ta bulunan İstemediğim Karakterler Silinsin İstiyorum. Aşağıdaki örneği buldum. Fakat bu örnek sadece karakter yazıldığı anda karakter kontrolü yapıyor ve uyarıyor. Textbox Exit Olayı için bunu nasıl uyarlayabiliriz. Yardımcı olacak Arkadaşlara şimdiden teşekkürler. İyi Geceler.





Private Sub TextBox1_Change()

izin_verilen1 = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "-", "_", " ", "(", ")")

For evn= LBound(izin_verilen1) To UBound(izin_verilen1)
If izin_verilen1(evn) = VBA.Right(TextBox1, 1) Then Exit Sub
Next

MsgBox "Yanlış karakter!", vbCritical, Application.UserName
Application.SendKeys ("{BS}")
End Sub
 
:cool:
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim silinecekler(), i As Integer, deg As String
silinecekler = Array("a", "b", "y", "s")
deg = TextBox1.Text
For i = 0 To UBound(silinecekler)
    deg = Replace(deg, silinecekler(i), "")
Next
TextBox1.Text = deg
End Sub
 
:cool:
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim silinecekler(), i As Integer, deg As String
silinecekler = Array("a", "b", "y", "s")
deg = TextBox1.Text
For i = 0 To UBound(silinecekler)
    deg = Replace(deg, silinecekler(i), "")
Next
TextBox1.Text = deg
End Sub


Hocam Teşekkürler.
 
Selamlar,

Evren Hocam Userformda 25-30 adet Textbox olduğundan yazmış olduğunuz kodları Userformda bulunan tüm Textboxlar için tek bir kod yazarak yapmak mümkünmüdür?
İyi Geceler
 
Merhaba,
Evren üstadın kodlarından yola çıkarak, ilgili textboxlardan çağırabiliriz, saygılar.
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = deg(TextBox1)
End Sub
Function deg(tbox)
Dim silinecekler(), i As Integer
silinecekler = Array("a", "b", "y", "s")
deg = tbox
For i = 0 To UBound(silinecekler)
    deg = Replace(deg, silinecekler(i), "")
Next
End Function
 
Sayın dentex selam,


Userformda bulunan Bütün Textboxların kontrolünü yukarıdaki kodlarla yapmak, mesela; kaydet tuşuna basınca sizin yazdığınız kod bütün Textboxlara aynı işlemi yapsın bu mümkünmüdür.Teşekkürler
 
Merhabalar,
bir buton koduna aşağıdaki kodu kopyalayıp deneyebilirsiniz.

Kod:
Private Sub CommandButton1_Click()
    For i = 0 To Controls.Count - 1
       If Mid(Controls(i).Name, 1, 4) = "Text" Then
           Controls(i).Text = deg(Controls(i).Text)
           End If
    Next i
End Sub
 
Geri
Üst