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