Hola Pabloturchi...................salió!!!
Te cuento lo que hice (gracias a tu idea):
tengo una caja en donde meto un nº (codigo), compruebo si ese codigo existe ya en el fichero, y entonces:
- si existe: meto en la matriz, y en la posicion del nº (codigo) las cajas de texto
- si no existe: es un registro nuevo, asi que redimensiono la matriz (uno mas) y meto en la matriz y en la ultima posicion el registro.
Despues de esto abro el archivo con output para machacar lo que habia (tengo todo guardado en la matriz) y con el print lo voy metiendo, esto es, machaco lo anterior y meto lo nuevo.
En codigo es asi:
If codigoigual = False Then
ReDim Preserve strRecogerCadena(1 To UBound(strRecogerCadena) + 1) As String
strRecogerCadena(UBound(strRecogerCadena)) = txtCodigo.Text & "," & txtNombre.Text & "," & txtApellidos.Text & "," & txtFecha.Text & "," & txtImporte.Text
Else
strRecogerCadena(Val(txtCodigo.Text)) = txtCodigo.Text & "," & txtNombre.Text & "," & txtApellidos.Text & "," & txtFecha.Text & "," & txtImporte.Text
End If
Close #1
Open archivo For Output As #1
For i = 1 To UBound(strRecogerCadena)
Print #1, strRecogerCadena(i)
Next i
MsgBox "Registro guardado con éxito", vbInformation + vbOKOnly, "Guardado"

Gracias por tu ayuda, sin ti no hubiera tenido la idea