Aynı kısıtlamayı tüm Textboxlara geçerli kılmak

Katılım
3 Haziran 2005
Mesajlar
369
Merhaba,
Userform1 de 150 adet textbox ım var
herbiri için

If Right(TextBox1, 1) Like "[!0-9,]" Then SendKeys "{bs}"

yazmak güç oluyor.
Bunu userform1 deki tüm textboxlara uygulatma imkanımız var mıdır?

Şimdiden teşekkürler
 
Katılım
15 Mart 2005
Mesajlar
379
Excel Vers. ve Dili
Microsoft 365 En 64 Bit
Altın Üyelik Bitiş Tarihi
20-03-2024
Merhaba,


Bu işlemi ClassModule ile yapabiliriz.

Bir ClassModule sayfasına;

Kod:
Public WithEvents txt As MSForms.TextBox

Private Sub txt_Change()
  If Right(txt, 1) Like "[!0-9,]" Then SendKeys "{bs}"
End Sub
Bir Module sayfasına;

Kod:
Global txtler() As New clsTxtControl
Global Ctrl As Control
User Formun UserForm_Initialize olayına;

Kod:
For Each Ctrl In Me.Controls
    If TypeName(Ctrl ) = "TextBox"Then
        ReDim Preserve txtler(i)
        Set txtler(i).txt = Ctrl 
        i = i + 1
    End If
  Next
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
ekte class modulle yapılmış bir örnek var
 
Katılım
3 Haziran 2005
Mesajlar
369
syn veyselemre ilginize teşekkür ancak gönderdiğiniz örnek hata veriyor
 
Üst