Si los TextBox están en un array de controles, no deberías tener ningún problema llamando a la función así:
SelecTexto Text1(Index)
Si no es así, tendrías que craerte una clase que haga eso. p.ej.
En un módulo de clase (Class1.cls)
Código:
Option Explicit
Private WithEvents MiText As TextBox
Public Property Set FormatTxt(SetTextBox As TextBox)
Set MiText = SetTextBox
End Property
Private Sub MiText_GotFocus()
MiText.SelStart = 0
MiText.SelLength = Len(MiText.Text)
End Sub
En el formulario donde se encuentran los TextBox:
Código:
Option Explicit
Private cTextBox As Collection
Private Sub Form_Load()
Dim cClass As Class1, oControl As Control
Set cTextBox = New Collection
For Each oControl In Me.Controls
If TypeOf oControl Is TextBox Then
Set cClass = New Class1
Set cClass.FormatTxt = oControl
cTextBox.Add cClass
End If
Next
Set cClass = Nothing
Set oControl = Nothing
End Sub
Nota: Siempre que haya mas de un control del mismo tipo en un formulario, es mas práctico crear un array de controles. Tendrás que escribir menos código y ganarás en recursos.