Edson, em sua temos de Identificar o Tipo do Controle, senão ela se estenderá a qualquer Controle no formulário, CommandButton, Label, ComboBox, e dará erro, então só precisamos acrescentar a linha referente a identificação (TypeName) dos Controles TEXTBOX :
Private Sub CbtEdson_Click()
Dim cont As Long
Dim tb As Control
For Each tb In Me.Controls
If TypeName(tb) = "TextBox" Then 'Somente Controles TEXTBOX
If Mid(tb.Name, 1, 4) = "Boxt" And tb.Value <> "" Then
cont = cont + 1
End If
End If
Next
MsgBox (cont & " BOXT(s) preenchido(s).")
End Sub
Na rotina que postei, aproveitando a linha MID de sua rotina a mesma ficaria assim :
Private Sub cbtMauro_Click()
Dim cCont As Control
Dim i As Integer
For Each cCont In Me.Controls
If TypeName(cCont) = "TextBox" Then 'Somente controles TEXTBOX
If Mid(cCont.Name, 1, 4) = "Boxt" And cCont.Value = <> Then
i = i + 1
End If
End If
Next cCont
MsgBox "Foram preenchidos - " & i & " - TextBox"
End Sub
Uma outra observação é que é distinguido Maiuscula de Minuscula "BOXT" é <> de "Boxt".
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 22/04/2011 2:09 pm