Dona elsa, que pena molestarla recurro a su sabiduría y a su experiencia. Mi pregunta es: ¿Cómo hago para guardar un desde libro que contiene macros una copia exacta de este sin que se copien también las macros y que quede el libro que tiene la macros abierto?. Gracias y qDtb.
No podrás hacer exactamente como lo que mencionas. Te daré algunas instrucciones para que lo armes según sea lo mejor para tu proceso: La instrucción: ActiveWorkbook. ¿SaveAs?.. guarda tu libro activo con otro nombre (como copia) al que 'previamente' le habrás quitado las macros. Pero como es lo mismo que 'Guardar Como' ahora estarás parado en la copia. Tendrás que abrir nuevamente tu libro original. Otra instrucción es: ActiveWorkbook.SaveCopyAs?. en ese caso solo hace 1 copia y seguis estando en tu libro original. Pero a continuación tendrás que abrir esta copia, quitarle el código y volverlo a guardar. Esto se puede hacer de manera transparente al usuario con la instrucción: Application.ScreenUpdating = False La rutina para eliminar código es: Sub sincodigo() 'nos aseguramos que no sea un xlt 'y quitamos módulos y Userforms If Right(ActiveWorkbook.Name, 3) <> "xlt" Then With ActiveWorkbook.VBProject.VBComponents .Remove.Item ("Módulo1") .Remove.Item ("UserForm1") 'otros módulos y forms End With 'remueve también las rutinas de ThisWorkbook y Hojas With Application.VBE.ActiveVBProject For ele = 1 To .VBComponents.Count LineasCod = .VBComponents(ele).CodeModule.CountOfLines If LineasCod > 0 Then .VBComponents(ele).CodeModule.DeleteLines 1, LineasCod End If 'se repite el bucle para el próximo objeto del proyecto Next ele End With End If End Sub Espero sea de utilidad. Saludos Elsa