Saltar al contenido

Recommended Posts

publicado

Buen día comunidad.

 

Agradezco el apoyo que me puedan brindar.

Me encuentro realizando una macro para extraer información desde una hoja de cálculo (excel), a un archivo de texto Txt.

El inconveniente que tengo es porque una vez se ejecuta la acción y se convierte la información a formato txt, el cursor (Pipe) se muestra en el archivo txt en la primera línea del documento y lo que busco es que una vez se ejecute la acción, este Pipe aparezca una línea posterior al ingreso de todos los datos extraídos, para continuar con una segunda actividad.

 

Espero haya sido claro y por supuesto agradecer de antemano la colaboración que me puedan brindar.

Un feliz día.

publicado

Bueno, a falta de libro o algún código de ejemplo con lo único que podre participar en esta consulta será suponiendo un código.

Entonces, un código que haga lo que mencionas con los cambios que solicitas deberías ser algo como esto:

 Sub ExportarDatosATxt()
    ' Ayuda Excel: Definir el rango de celdas que deseas exportar
    Dim rango As Range
    Set rango = ThisWorkbook.Sheets("NombreDeTuHoja").Range("A1:B10") ' Ayuda Excel: Modifica esto según tus necesidades

    ' Ayuda Excel: Definir el nombre del archivo de texto
    Dim nombreArchivo As String
    nombreArchivo = "C:\ruta\archivo.txt" ' Ayuda Excel: Modifica esto según tus necesidades

    ' Ayuda Excel: Crear un objeto FileSystemObject
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' Ayuda Excel: Crear un objeto TextStream
    Dim archivo As Object
    Set archivo = fso.CreateTextFile(nombreArchivo, True)

    ' Ayuda Excel: Recorrer cada celda en el rango y escribir en el archivo de texto
    Dim celda As Range
    For Each celda In rango
        archivo.WriteLine celda.Value
    Next celda

    ' Ayuda Excel: Colocar el cursor al final del archivo
    archivo.WriteBlankLines 1

    ' Ayuda Excel: Cerrar el archivo de texto
    archivo.Close

    ' Ayuda Excel: Limpiar los objetos
    Set archivo = Nothing
    Set fso = Nothing
End Sub

Recuerda reemplazar el  "NombreDeTuHoja" y "C:\ruta\archivo.txt" con el nombre de tu hoja y la ruta de tu archivo.

Un código como ese crea un nuevo archivo de texto y escribe los valores de las celdas en el archivo. Después de escribir todos los datos, moverá el cursor a la línea siguiente.

Toma en cuenta que esto sobrescribirá el archivo de texto si ya existe y si deseas agregar los datos al final del archivo en lugar de sobrescribirlo, puedes cambiar fso.CreateTextFile(nombreArchivo, True) a fso.OpenTextFile(nombreArchivo, 8, True)

 

publicado

Hola Israel.

Muchas gracias por tu ayuda.

Tu código fue más concreto y sobre todo solucionaba el inconveniente.

Muchas gracias por tu ayuda.

Una feliz tarde.

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.