Usa este Codigo que hice algun tiempo
Function LeerTxt(RutaTxt As String, _
Optional EncuentraTexto As String = vbNullString) _
As Variant
'***************************************************************
'& &*
'& &*
'& &*
'& &*
'& Jefferson Jimenez (JJJT) &*
'& Cabimas - Venezuela &*
'& Febrero - 2011 &*
'& &*
'& &*
'& &*
'& &*
'& &*
'***************************************************************
FileTxt# = FreeFile
Open RutaTxt For Input As FileTxt
Do While Not EOF(FileTxt)
Line Input #FileTxt, QueLeyo$
LeerTxt = LeerTxt & vbNewLine & QueLeyo
Loop
If EncuentraTexto <> vbNullString Then
encontrado# = InStr(1, LeerTxt, EncuentraTexto, vbTextCompare)
If encontrado > 1 Then
MsgBox _
"la palabra ('" & EncuentraTexto & "') se ha encontrado en la posicion " _
& encontrado & " de la cadena de texto"
Else
MsgBox _
"la palabra ('" & EncuentraTexto & "') NO se ha encontrado en la cadena de texto"
End If
End If
Close #FileTxt
End Function
https://sites.google.com/site/jjjt1973/Home/agenda-de-cumpleanos/LeerArchivoTXT.txt?attredirects=0&d=1
Saludos
Desde Venezuela
Jefferson