• DİKKAT

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

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
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
 
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
 
yok hocam olmadı malesef :( userform ınitialize ve activate kısmına yazdım.
 
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
 
Geri
Üst