Tienes toda la razón. He metido un acento y repetido el nombre a 2 variables. Que borrico

Aquí te lo dejo revisado. Comentame si funciona, ya que como no tengo ficheros de texto de ese tipo no puedo probarlo.
Código vb:
Ver originalFunction LeerRegistroTxt(ByVal NombreArchivo As String, ByVal numLinea As Long, Optional ByVal numColumna As Long) As String
Dim NumFichero As Integer
Dim Linea As String
On Error GoTo ErrorLectura
Open NombreArchivo For Input As #NumFichero
Do Until EOF(NumFichero)
If numLinea = 0 Then Exit Do
Line Input #NumFichero, Linea
numLinea = numLinea - 1
Loop
Close #NumFichero
If numColumna > 0 Then
Dim Matriz() As String
Matriz = Split(Linea, vbTab)
Linea = Matriz(numColumna - 1)
End If
LeerRegistroTxt = Linea
Exit Function
ErrorLectura:
MsgBox Err.Description
Err.Clear
End Function
Saludos
PD: Tampoco cerraba el fichero despues de abrirlo. Estoy pasmao