Eliminar macros de un libro desde la macro de otro libro

Me gustaria poder disponer de una macro en un libro y que al ejecutarla eliminase las macros que hay en otros libros respetando los datos que hay. O que esta macro abriera los otros libros y los guardase sin macros y eliminase los libros que contiene las macros, sin mensajes de aviso.

1 Respuesta

Respuesta
3

Se pueden realizar varias tareas. Los siguientes son solo algunos ejemplos para que adaptes a tu necesidad.

1 - Respondiendo al título de tu consulta, con la siguiente macro podrás eliminar módulos y Userforms a criterio desde otro libro:

Sub borraMacros()
'x Elsamatilde
'elimina los módulos y Userform del libro que debe estar abierto
With Workbooks("LibroCopia.xlsm").VBProject.VBComponents
.Remove .Item("Módulo10")
.Remove .Item("Módulo5")
.Remove .Item("Userform1")
End With
'opcional: cerrar el libro guardando los cambios
Workbooks("LibroCopia.xlsm").Close True
End Sub

La condición es que el 2do libro esté abierto.

2 - Abrir libro con macros y guardarlo como xlsx. Eliminar original.

Sub GuardarSinMacros()
'x Elsamatilde
'ruta y nombre del libro
ruta = "D:\carpetas Datos\Descargas\"
libro = "LibroCopia.xlsm"
'se abre el libro
    Workbooks.Open ruta & libro
'ahora es el libro activo y se lo guarda como xlsx
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ruta & "LibroCopia.xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
'eliminar el libro original (el de las macros)
Kill ruta & libro
End Sub

Debes ajustar ruta y nombre de libro tanto en apertura como en cierre.

Sdos y no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas