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.
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: Vba, Importar archivos a Excel
Querido profesor:
ResponderBorrarNo consigo bajarme el fichero con la macro desde la dirección que propones. Me da error
Enlace arreglado!
ResponderBorrarPero 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?
ResponderBorrarHola
ResponderBorrarlo 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.
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.
ResponderBorrarEs esto posible? Muchas gracias.
Hola Nicolás,
ResponderBorrarse 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).
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ó.
ResponderBorrarPude 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
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.
ResponderBorrarEl 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.
ResponderBorrarDe 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.
ResponderBorrarLO 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
ResponderBorrarSe 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
ResponderBorrarHola Alfredo, después de mucho buscar encontré el archivo. Acabo de reemplazar el enlace para que puedas descargar erl código.
ResponderBorrarSuerte!