Soru BELİRLİ TEXTBOX CHANGE OLAYLARINA AYNI İŞLEVİ FOR DÖNGÜSÜYLE YAPTIRMA

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
11-04-2030
userform üzerinde 100 kadar textbox var

örneğin ilk 20 textbox change olayına aşağıdaki kodlamayı:

On Error Resume Next
TextBox1 = Evaluate("=büyükharf(""" & TextBox1 & """)")
TextBox1 = Evaluate("=upper(""" & TextBox1 & """)")

sonraki 15 textbox change olayına aşağıdaki kodlamayı

If TextBox16 = vbNullString Then Exit Sub
If Not IsNumeric(TextBox16) Then
MsgBox "Lütfen rakam giriniz"
TextBox16 = vbNullString
End If

diye kodlamalar yazmam gerekiyor. bu kodları tüm textboxlara teker teker yapmaktansa toplu halde nasıl uygularız.

not: textbox isimleri kendimce beirledim. mesela URUN1 URUN2 URUN3 MİKTAR1 MİKTAR MİKTAR3 diye
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,672
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Denermisiniz.
Kod:
On Error Resume Next
For i = 1 To 5
Controls("TextBox" & i) = Evaluate("=büyükharf(""" & Controls("TextBox" & i) & """)")
Controls("TextBox" & i) = Evaluate("=upper(""" & Controls("TextBox" & i) & """)")
Next i
For j = 6 To 15
If Controls("TextBox" & j) = vbNullString Then Exit Sub
If Not IsNumeric(Controls("TextBox" & j)) Then
MsgBox "Lütfen rakam giriniz"
Controls("TextBox" & j) = vbNullString
End If
Next j
 

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
11-04-2030
yok hocam olmadı malesef :( userform ınitialize ve activate kısmına yazdım.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Tüm "textbox" larda çalışan kod aşağıdaki gibi olabilir.
"Case" kısmında (Case "TextBox1", "TextBox2") virgül koyarak aynı işlev yapmasını istenilen "textbox"lar için kullanılabilir
https://www.dosyaupload.com/anuZ
Örnekte "Textbox1" ve "Textbox2" için büyük harf,
"Textbox3" içinde sadece sayı içindir
Kod:
Private Sub TextBox1_Change()
TT TextBox1
End Sub
     
Private Sub TextBox2_Change()
TT TextBox2
End Sub

Private Sub TextBox3_Change()
TT TextBox3
End Sub



Private Sub TT(m As MSForms.Control)
On Error Resume Next
Select Case m.Name

Case "TextBox1", "TextBox2"
m = Evaluate("=büyükharf(""" & m & """)")
m = Evaluate("=upper(""" & m & """)")

Case "TextBox3"
If Not IsNumeric(m) And m <> vbNullString Then
MsgBox "Lütfen rakam giriniz"
m = vbNullString
End If

End Select
End Sub
 
Üst