lunes, julio 03, 2006

Excel - Como importar archivos texto a con más de 65536 filas.

Ya hemos visto algunas técnicas para importar archivos texto a Excel.
Si usamos alguna de las versiones a partir de Excel 97 y hasta Excel 2003, el máximo de filas que podemos importar es 65536.
En versiones anteriores a Excel 97 el máximo era 16384. A partir de Excel 2007 dispondremos de más de 1 millón de filas.
Pero como la mayoría de los usuarios seguimos trabajando con alguna de las versiones entre Excel 97 y Excel 2003, veremos como solucionar el problema de importar archivos de mas de 65536 filas.
La base de datos de conocimientos de
Microsoft propone una macro para solucionar el problema. La solución consiste en dividir automáticamente el archivo a importar, si excede el máximos de filas permitido, en varias hojas.
En esta entrada reproduzco la macro propuesta por Microsoft, con los mensajes traducidos al español.
Además he reemplazado el método Inputbox del original por GetOpenFilename, que permite elegir el archivo desde un diálogo, en lugar de tener que escribir el nombre y la ubicación del archivo que queremos importar.

El archivo con la macro se puede descargar aquí



Esta macro no divide las líneas del archivo importado en columnas. Esto debe hacerse usando el comando Datos---Texto en Columnas.


Categorías: Varios_





Technorati Tags: ,

13 comentarios:

  1. Querido profesor:
    No consigo bajarme el fichero con la macro desde la dirección que propones. Me da error

    ResponderBorrar
  2. Pero como le puedo hacer para abrir una base de datos en Dbase en Excel, porque se que tiene mas registros pero no se como mostrar los demas me puede ayudar?

    ResponderBorrar
  3. Hola
    lo que puedes hacer es usar el MSQuery para importar los datos. Puedes consultar mi nota sobre el tema.
    En tu caso no puedes importar todos los registros, pero puedes usar los datos del Dbase como base para una tabla dinámica.

    ResponderBorrar
  4. Hola Profesor, quisiera saber qué macro utilizar para dividir una planilla excel en varias planillas diferentes, por un criterio similar al de los subtotales, es decir, que cuando cambie de nombre determinada celda de una columna (por ej, de contener la función "Analista" pase a contener la de "Operario", en la columna "Función Realizada en la empresa"), me genere un archivo con ese nombre, y que contenga las demás columnas del mismo, manteniendo las fórmulas que tiene la planilla.
    Es esto posible? Muchas gracias.

    ResponderBorrar
  5. Hola Nicolás,
    se puede hacer, pero no es trivial. Como tu consulta no es de interés general, no publico una respuesta en el blog. Podés contactarte conmigo por mail (jorgedun@gmail.com).

    ResponderBorrar
  6. Tengo un archivo que se genera automáticamente todos los días y se guarda con el nombre del día en el que se actualizó.
    Pude adaptar la macro perfectamente sólo para 1 archivo en particular. Por ejemplo el 18082011.txt, pero no para los otros (Por ejemplo 19082011.txt,17082011.txt etc).
    No entiendo porque no funciona con estos ya que pesan lo mismo y tienen la misma estructura. La macro corre y se queda tildada ocupando el 100% del CPU. ¿que puede pasar?
    Agradecería mucho su ayuda

    ResponderBorrar
  7. Tendría que ver el código para hacerme una idea de donde pueda estar el problema. Fijate en el enlace Ayuda, en la parte superior del blog.

    ResponderBorrar
  8. El código es el publicado en este artículo. Podría enviarle el archivo txt con el que no me corre si le parece bien.

    ResponderBorrar
  9. De acuerdo. Como comentario aparte: esta entrada es el de año 2006. Mientras tanto Microsoft lanzó al mercado las versiones 2007 y 2010 de Excel, donde las hojas tienes más de un millón de filas. Es decir que si trabajas con alguna de las últimas versiones de Excel, la técnica de esta nota es innecesaria.

    ResponderBorrar
  10. LO QUE HICE FUE UTILIZANDO UN PROGRAMA DE WEB QUE CONVIRTIERA EL XLSX DE MAS DE 65536 FILAS A FORMATO CSV, LUEGO CON EL NOTEPAD LO FUI CORTANDO Y DESDE EXCEL IR IMPORTANDO LOS CSV A DISTINTAS HOJAS

    ResponderBorrar
  11. Se que la nota es del 2006 pero sigo con el mismo problema hay alguna manera que pueda obtener el archivo con la macro porque cuando lo hice manual me da un error que no logro solventar

    ResponderBorrar
  12. Hola Alfredo, después de mucho buscar encontré el archivo. Acabo de reemplazar el enlace para que puedas descargar erl código.
    Suerte!

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.