Ejecutar macro en varios libros Excel para reducir peso en megas, ya que están activas las 65535 filas

Necesito una macro que automatice lo siguiente:

Abrir todos los excel de una carpeta o de varias carpetas, que reduzca el tamaño del mismo, lo guarde en el mismo nombre y misma carpeta, y pase al siguiente libro excel.

Todo esto viene porque tenía archivos xslx mal cerrados, que reparé con un programa, y luego convertí a xls, lo que sobredimensionó de 100kb a 30 megas cada excel. Por lo que no me sirven al ocupar tanto.

Llevo peleandome ya unos días con el vba, pero no lo se usar bien y no llego a nada.

1 respuesta

Respuesta

.

:)

- Pon la siguiente macro en cualquier libro:

Sub Macro458()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
  With ws.Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
    ws.Range(.Offset(1), .End(xlDown)).EntireRow.Delete
  End With
  With ws.Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
    ws.Range(.Offset(, 1), .End(xlToRight)).EntireColumn.Delete
  End With
Next
ActiveWorkbook.Close True
End Sub

- Abre uno cualquiera de los libros a "depurar".

- Ejecuta la macro (OJO: se ejecutará sobre el libro que tengas activo).

- Vuelve a abrir el libro en cuestión y revisa si se ha cumplido el objetivo de reducir su tamaño.

- Si todo fue Ok entonces coméntalo para generalizar su aplicación a todos los archivos de una carpeta específica.

:)

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas