There is one other way to do this (that I know of, anyway):
Create a form with 6 textboxes on it, all named Text1, with the Index property set from 1 to 6 appropriately, and a command button.
Private Sub Command1_Click()
MyFunction Text1
End Sub
Private Function MyFunction(ByRef txtSource as Object)
Dim txtCurrent as TextBox
For Each txtCurrent in txtSource
'do whatever
Next txtCurrent
End Function
This is a more object-oriented approach, and utilizes the For...Each loop of a collection, so you don't have to worry about array bounds. If you want to early bind the txtSource object, I'm not sure what you would use. I used code very similar to this recently, and just used the Object keyword because I didn't have the time to research the exact object type, but I would suspect it is TextBox.
You may notice, if you have Intellisense activated in VB6 (where a property list pops up in the code window as you type), that if you type "Text1." in the code window, some of the methods for a standard collection object will pop up, namely Count and Item (although there are also LBound and UBound methods, like an array). So, apparently a control array is actually a control collection.
Steve [sig][/sig]