Prueba con esta función:
Public Function ExtraerDato(sFichero As String, sDato As String) As Double
Dim FSO As New FileSystemObject, fsTXT As Object
Dim sLínea As String
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fsTXT = FSO.OpenTextFile(sFichero)
Do While Not fsTXT.AtEndOfStream
sLínea = fsTXT.ReadLine
If InStr(sLínea, sDato) > 0 Then
ExtraerDato = CDbl(Replace(Replace(Right(sLínea, Len(sLínea) - InStrRev(sLínea, " ")), ",", ""), ".", Application. International(xlDecimalSeparator)))
Exit Do
End If
Loop
fsTXT.Close
End Function
La sintaxis es:
=ExtraerDato("Unidad:\Ruta\fichero.txt";"cadena a buscar")
Donde lógicamente Unidad: hay que cambiarlo por la letra de la unidad que sea, \Ruta\ por la ruta, Fichero.txt por el nombre del fichero y "cadena a buscar" por lo que se necesita encontrar.
A tener en cuenta que:
- Quizás haya que establecer manualmente una referencia a la librería Microsoft Scripting Runtime (desde herramientas->Referencias)
- Quizás haya que sustituir el ; por el separador de listas que esté establecido en la configuración regional del equipo.
Saludos_