o Text em formato index quer dizer array? tipo text1(0), text1(1), etc...?
se sim fico feliz que tenha gostado da função, se verificar na seção de dicas verá que esta função foi desenvolvida por mim, e ficarei feliz em ajuda-lo agora, então veja esta adptação.
primeiro em todos textboxs que forem usados para a data, coloque na propriedade TAG destes um asterisco (*), para que a função aja somente nestes campos, e agora cole o código abaixo:
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If Text1(Index).Tag = "*" Then
CampoDATA Text1(Index), KeyAscii
End If
End Sub
Function CampoDATA(obj As Object, Keyasc As Integer)
If Keyasc = vbKeyReturn Then
SendKeys "{tab}"
If obj.Tag = "*" And obj.Text = "" Then
obj.Text = Format(Date, "dd/mm/yy")
End If
End If
If Not ((Keyasc >= Asc("0") And Keyasc <= Asc("9")) Or Keyasc = 8) Then
Keyasc = 0
Exit Function
End If
If Keyasc <> 8 Then
If Len(obj.Text) = 2 Or Len(obj.Text) = 5 Then
obj.Text = obj.Text + "/"
obj.SelStart = Len(obj.Text)
End If
End If
End Function
Private Sub Text1_LostFocus(Index As Integer)
If Text1(Index).Tag = "*" And Text1(Index).Text = "" Then
Text1(Index).Text = Format(Date, "dd/mm/yy")
End If
End Sub
e pronto funcional como deseja
qualquer duvida poste, ou me envie um email