Extraer texto de un archivo txt y pegarlo en una celda excel

Estoy tratando de crear una macro que me busque un texto en un archivo txt y me extraiga el valor que hay en frente en una celda especifica en excel. Teniendo encuenta que en el archivo de texto la palabra o frace buscada se repite en varias filas solo deseo extraer el dato de la primera que encuentre.

Por ejemplo

1 respuesta

Respuesta
1

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_

Buenos días

Como llamo la función para que se ejecute

=ExtraerDato("Unidad:\Ruta\fichero.txt";"cadena a buscar")

¿Dónde lo coloco en la celda o en una macro?

error de compilación 

error de sintaxis

La función se puede llamar desde una celda o desde una macro, aunque si he entendido el problema lo lógico sería llamarla desde una celda.

El error de compilación se debe probablemente a que no está marcada la librería Microsoft Scripting Runtime (en el editor de VBA), y el error de sintaxis probablemente también sea por esto.

Si no consigues que funcione, intento subir un libro.

Saludos_

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas