Por favor colabore con la construcción de una macro que me sirva para abrir archivos Txt a Excel de gran Tamaño (235.038 KB) Agradezco su colaboración
1 respuesta
Respuesta de deathwatch
1
1
deathwatch, Conocimiento en VB6, macros en Excel, macros en Outlook,...
Claro que si, con mucho gusto. Escríbeme el código que lleves y sobre eso trabajamos
Esta es la macro que me abre archivos txt, pero de tamaño pequeño Sub CALIDAD() 'Dimension Variables Dim ResultStr As String Dim FileName As String Dim FileNum As Integer Dim Counter As Double 'Ask User for File's Name FileName = "C:\CALIDAD\LSTITEM.txt" 'Check for no entry If FileName = "" Then End 'Get Next Available File Handle Number FileNum = FreeFile() 'Open Text File For Input Open FileName For Input As #FileNum 'Turn Screen Updating Off Application.ScreenUpdating = False 'Create A New WorkBook With One Worksheet In It Workbooks.Add template:=xlWorksheet 'Set The Counter to 1 Counter = 1 'Loop Until the End Of File Is Reached Do While Seek(FileNum) <= LOF(FileNum) 'Display Importing Row Number On Status Bar Application.StatusBar = "Importing Row " & _ Counter & " of text file " & FileName 'Store One Line Of Text From File To Variable Line Input #FileNum, ResultStr 'Store Variable Data Into Active Cell If Left(ResultStr, 1) = "=" Then ActiveCell.Value = "'" & ResultStr Else ActiveCell.Value = ResultStr End If 'For Excel versions before Excel 97, change 65536 to 16384 If ActiveCell.Row = 65536 Then 'If On The Last Row Then Add A New Sheet ActiveWorkbook.Sheets.Add Else 'If Not The Last Row Then Go One Cell Down ActiveCell.Offset(1, 0).Select End If 'Increment the Counter By 1 Counter = Counter + 1 'Start Again At Top Of 'Do While' Statement Loop 'Close The Open Text File Close 'Remove Message From Status Bar Application.StatusBar = False End Sub Saludos
Estoy haciendo pruebas... De todos modos, dime que error te marca o que te ocurre
Hola La macro como tal abre archivos TXT con peso de 15.000 KB sin ningún problema, pero cuando intenta abrir una archivo de 235.000 KB se bloquea el Excel. Ese es el problema.
Guardar en un solo archivo de excel, el contenido de un archivo de texto de 235 MB, es prácticamente imposible, sino es que completamente imposible, y te explico porque: Excel tiene 65536 filas. Hice un archivo de texto que tuviera unicamente números, desde el 1 hasta el 262144 (4 veces las filas de excel). Cada numero esta uno abajo del otro. Este archivo de texto apenas pesa casi 2 MB. Al generar el archivo de excel, creó 4 hojas: hoja 1 -> 1 al 65536, hoja 2 -> 65537 al 131072, hoja 3 -> 131073 al 196608, hoja 4 -> 196609 al 262144 La cantidad de hojas que puede tener un libro de excel es de 30 o 32, no recuerdo bien. Si de un archivo de 2 MB genero 4 hojas, imaginate de un archivo de 235 MB, cuantas hojas tendría que generar... Simplemente esta fuera de la capacidad de excel. --------- Te recomiendo que si vas a trabajar con archivos tan pesados, le inviertas un rato a aprender acerca de bases de datos como Access, SQL, MySQL, Oracle (es ultimo creo que también es para bases de datos), ACL, etc. --------