AccessTr.neT

Tam Versiyon: Textbox Boş Olanları Sayma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
userform üzerinde 1 den 47 ye kadar textbox mevcut. Textbox49' a boş olan textboxların sayısını nasıl alabilirim. Teşekkür ederim
Eğer Texbox ların nameleri TextBox ile başlıyorsa aşağıdaki kod işinize yaraya bilir.
Kod:
Private Sub CommandButton1_Click()
For i = 1 To 47
If Controls("TextBox" & i).Value = "" Then
say = say + 1
End If
Next
Controls("TextBox49").Value =say
End Sub
önce clsOlaylar isminde bir Class Modül oluşturup aşağıdaki kodları ekleyin.
Not : formunuzun adının UserForm1 olduğu varsayılmıştır. aşağıdaki kodda esas formunuzun adını kullanmalısınız
UserForm1.TextBox49.Value = Say
Option Explicit

Public WithEvents MyText As MSForms.TextBox

Private Sub MyText_Change()
    DoluSay
End Sub

Function DoluSay()
Dim Say As Byte
Dim x As Byte
Say = 0
For x = 1 To 47
    Say = Say + IIf(Len(UserForm1.Controls("TextBox" & x).Value) > 0, 0,1)
Next x
UserForm1.TextBox49.Value = Say

End Function

Sonra kullanıcı formunuza aşağıdaki kodları ekleyin
dilerim işinize yarar
Public MyEvents As New Collection

Private Sub UserForm_Initialize()

    Dim tmpCtrl As Control
    Dim CmbEvent As clsOlaylar
    Dim x As Long
   
    For x = 1 To 47
        Set tmpCtrl = Me.Controls("TextBox" & x)

        Set CmbEvent = New clsOlaylar
        Set CmbEvent.MyText = tmpCtrl
        MyEvents.Add CmbEvent

    Next x

End Sub
Yardımlarını esirgemeyen tüm ustalarıma sonsuz teşekkür ederim.