Copiar libro entero sin formulas ni módulos

Sucede que hice un programa en excel con módulos y formularios en Visual Basic, sin embargo, el programa que hago consiste en generar una copia de todo el libro mediante una macro que llamé EXPORTAR, la copia debe ser solo las hojas de excel sin formulas y sin ningún modulo o formulario del proyecto de visual basic, hice una macro que consiste en copiar el libro sin formulas mediante

ActiveWorkbook. SaveCopyAs Copia
Workbooks. Open Copia
With ActiveWorkbook
For Each HOJA In .Sheets
HOJA.UsedRange.Value = HOJA.UsedRange.Value
Next
.Save
End With

Y si es verdad que copia todas las hojas sin formulas, dejando solo los números, sin embargo el libro que generó tambien copia el proyecto de visual basic, resolví este problema mediante VBComponents. Remove; eliminando los componentes de la copia y todo de maravilla, me deja justo lo que quiero, un libro de excel comun con solo numeros y formatos de origen, el problema es que para que lo usen los demás para evitar que se metan en mi codigo tuve que proteger mi proyecto y le puse contraseña, en este punto es donde anda todo mal porque cuando la macro de EXPORTAR llega hasta el punto de eliminar los componentes de visual basic en el nuevo libro generado, aparece mensaje de error que dice "No se puede ejecutar la operación porque el proyecto esta protegido". ¿Podrían decirme por favor que instrucción le añado a mi macro para que desbloque el proyecto de visual basic en la copia y asi poder borrar los modulos?, o en su defecto, ¿alguna otra formula que pueda sustituir la de copiar libro sin formulas y que al mismo tiempo copie el libro omitiendo copiar el codigo de Visual basic?

1 respuesta

Respuesta
1

Esta solución esta en la red, yo la he utilizado y funciona

Sub Quitar_PassWord_VBA()
Application.SendKeys "%{f11}{l 4}%q", True
Workbooks("Libro X").Activate
Application.SendKeys "%{f11}^r{down}AquiTuPassWoRd~%q", True
End Sub

no me funciona, me sigue diciendo que esta protegido, quizá hice algo mal, este es el código que utilice, y utilice CALL Quitar_PassWord_VBA para ubicarla donde quería que empezara a correr, que es el momento justo antes en el que empiezo a utilizar VBComponents.Remove

Sub Quitar_PassWord_VBA()
Application.SendKeys "%{f11}{l 4}%q", True
ActiveWorkbook.Activate
Application.SendKeys "%{f11}^r{down}GATITA~%q", True
End Sub

Muchas gracias

No hagas el llamado a la macro solo copia esta linea al momento de necesitar desbloquear tu proyecto.

Application.SendKeys "%{f11}^r{down}GATITA~%q", True

Ojo en lugar de GATITA va tu clave

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas