NOTICIAS CIPSA INFORMÁTICA, MARKETING DIGITAL, PROGRAMACIÓN, VIDEOJUEGOS, OFFICE, DISEÑO, 3D, ETC
15
enero
2020

En este blog os voy a explicar un pequeño truco sobre cómo importar archivos de texto de forma automática utilizando el grabador de macros de excel, sin necesidad de conocer el lenguaje VBA Excel.

Si estás interesado en más información sobre los Macros de Excel puedes leer el artículo VBA Excel: para qué sirve, quién lo usa y cómo programar una macro.

Supongamos que trabajamos en un departamento de contabilidad. Todos los días recibimos un archivo de texto del sistema de la empresa, en el cual constan todas las facturas generadas el día anterior. Este archivo de texto
ventas.txt–  separa cada campo por medio de punto y coma. Las columnas en el archivo son Fecha, Número de factura, Código Cliente e Importe Factura.

ejemplo ventas macros excel

Cuando nos sentamos delante del ordenador cada mañana, debemos importar manualmente este archivo a Excel y añadir una fila de totales a la tabla.

Esta tarea es perfecta para una macro. Antes de grabar la macro, deberemos pensar en los pasos que debemos realizar. En este caso, los pasos son los siguientes:

Importar archivo de texto .txt a Excel

1. Hacemos clic en el menú Archivo y seleccionamos Abrir.

2. Navegamos hasta la carpeta en la que está guardado el archivo ventas.txt.

3. Seleccionamos todos los archivos (*.*) en la lista desplegable Tipo de archivo.

4. Seleccionamos ventas.txt. Haga clic en Abrir

5. En el Asistente para importar texto –paso 1 de 3- seleccione Delimitados en el apartado Tipo de los datos originales.

asistente para importar texto excel paso 1 macros

6. Hacemos clic en siguiente.

7. En el Asistente para importar texto –paso 2 de 3- deseleccionamos la opción Tabulación y seleccionamos la opción punto y coma en el apartado Separadores.

asistente para importar texto excel paso 2 macros

8. Hacemos clic en Siguiente.

9. En el Asistente para importar texto –paso 3 de 3- deseleccionamos General en el apartado Formato de los datos en columna y lo cambiamos por Fecha DMA.

asistente para importar texto excel paso 3 macros

10. Hacemos clic en finalizar para importar el archivo.

11. Pulsamos Fin + Flecha abajo para movernos a la última fila de datos.

12. Pulsamos la flecha abajo una vez más para movernos a la fila de Totales.

13. Escribimos la palabra Total.

14. Pulsamos la tecla flecha derecha tres veces para movernos a la columna D de la fila Total.

15. Hacemos clic en el botón Autosuma y presionamos Ctrl + Intro para añadir un total a la columna E, mientras permanecemos en esta celda.

16. Aplicamos a la celda Formato monetario.

Si quieres aumentar tus conocimientos visita nuestro Curso de Excel

Grabar Macro en Excel

Después de haber ensayado estos pasos en nuestra cabeza estás listo para grabar la primera macro.

Abrimos un libro en blanco y lo guardamos con el nombre MacroImportVentas.xls.

Hacemos clic en el botón Grabar macro  de la ficha de Desarrollador.

ejemplo grabar macro excel

En el cuadro de diálogo Grabar macro el nombre por defecto es Macro1. Lo cambiamos por algún nombre más descriptivo como ImportarTXT. Nos aseguramos de que las macros se almacenan en Este Libro.

Es posible que deseemos ejecutar esta macro más delante de una forma sencilla; por lo tanto introduciremos i en el campo método abreviado. En el campo Descripción añadimos un pequeño texto descriptivo que diga lo que hace la macro. Finalmente, pulsamos Aceptar.

ejemplo grabar macro importar txt excel

Con cuidado, ejecutamos todas las acciones necesarias para generar la importación de ventas automáticamente. TODOS los pasos que realicemos serán grabados.

Tras realizar el último paso, hacemos clic en el botón Stop de la esquina inferior izquierda de la ventana de Excel o en la pestaña Desarrollador, en botón Detener grabación.

ejemplo grabar macro detener grabacion

Una vez grabada la macro, ya la podremos ejecutar. Para ello, la manera más fácil es apretar la pulsación Ctrl + i para que nos cargue automáticamente el archivo de texto en nuestra hoja de cálculo.

Fijaros que nos ahorramos todos los pasos tediosos de la importación; con una simple combinación de teclas nos realizará todos los pasos grabados por la macro.

También la podemos ejecutar desde Macros, y botón Ejecutar.

ejemplo grabar macro importar txt excel 2

Este es el resultado de ejecutar la macro:

ejemplo grabar macro ejecutar

Para echar un vistazo al código, vamos al editor de Visual Basic en la ficha de Programador o pulsando Alt + F11, Veremos el código que nos ha generado internamente. Observa que sin entender el código hemos programado una macro:

ejemplo grabar macro editor visual visual basic excel

Si estás interesado en ampliar tus conocimientos sobre todo lo relacionado a VBA Excel visita nuestro Curso Analista Programador VBA Excel.

Contenido adicional:

MASTERCLASS: TIPS EXCEL AUTOMATIZAR OFFICE OFIMÁTICA PROFESIONAL PROFESOR JORDI LLORT CIPSA

Author

Jordi Llort

Profesor de Máster en Programación .NET . Máster de Gestión digital de Empresas, Máster de Videojuegos y SAP. Formador en CIPSA, con más de 30 años de experiencia.

7 Comments

  1. Fabio
    May 20th, 2021 9:16

    Buenas,

    Cómo podría hacer una macro similar pero que la ruta la especifique el usuario de forma dinámica, de tal modo que pueda importar los datos de diferentes archivos de texto dentro de una carpeta?

    Gracias!

  2. Jordi Llort
    May 20th, 2021 13:12

    Buenas Fabio, gracias por tu consulta.
    Para lo que estás tratando de hacer, deberías utilizar una función de Visual Basic para obtener la ruta de acceso ya que no solo se trata de automatizar una tarea sino de utilizar sentencias.

  3. Julio
    Oct 19th, 2021 15:13

    Hola, cómo hacer para que la macro me ejecute el último archivo txt descargado, ya que la hago, pero siempre me ejecuta el archivo txt con el que hice la macro.

    Saludos.

  4. Jordi Llort
    Oct 20th, 2021 13:16

    Buenas Julio, como le comentábamos a Fabio, debes utilizar una función de Visual Basic para obtener un listado de los archivos de la carpeta y acceder al último modificado. Gracias por la consulta, voy a redactar un artículo de blog en los próximos días hablando sobre el tema.

  5. Jordi
    Ene 28th, 2022 12:06

    Hemos hecho elaborado una masterclass en Youtube donde explicamos más a fondo sobre este tema.
    Les comparto el enlace https://youtu.be/MRS5zkv6yIQ

  6. Iñigo Etxeberria
    May 9th, 2023 12:02

    Buenas! Tengo una duda. Supongamos que en la carpeta de Txt voy guardando los ficheros diarios y que quiero ejecutar la macro de manera diaria y que me vaya añadiendo a un excel en el que acumulo los datos. Cómo podría especificar que sólo me cogiese los ficheros del día anterior?
    Gracias!
    Un saludo

  7. Jordi Llort
    May 10th, 2023 10:23

    Hola Iñigo, vas a necesitar algo de programación para modificar la macro generada automaticamente, utilizando el editor de programación de Excel (VBA para aplicaciones).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe de primero nuestras ofertas de empleo y noticias