Eliminar Macro en Tiempo de Ejecución

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Eliminar Macro en Tiempo de Ejecución

Notapor FernandoML » 31 Dic 2011 07:27

Hola a todos:

Espero que me podais ayudar con esto.

Estoy diseñando un programa en Excel con UserForms solamente y lo que quiero es que cuando el programa caduque, se eliminen todas las macros del archivo y se guarde como un archivo normal de excel.

Es posible hacer esto?

Uso dos versiones de excel, 2003 ó 2007

Muchas gracias a todos.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Eliminar Macro en Tiempo de Ejecución

Notapor fervabi22 » 31 Dic 2011 16:43

Hola Tocayo, en verdad lo que pides no es nada imposible pero de igual manera voy a ver la manera de darte alguna ayuda posible.

Saludos desde Perú.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
fervabi22
Miembro Frecuente
Miembro Frecuente
 
Registrado: 11 Jun 2010 02:02
Ubicación: PERU - AREQUIPA

Re: Eliminar Macro en Tiempo de Ejecución

Notapor fervabi22 » 31 Dic 2011 17:07

fervabi22 escribió:Hola Tocayo, en verdad lo que pides no es nada imposible pero de igual manera voy a ver la manera de darte alguna ayuda posible.
Contactarme a mi correo
Saludos desde Perú.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
fervabi22
Miembro Frecuente
Miembro Frecuente
 
Registrado: 11 Jun 2010 02:02
Ubicación: PERU - AREQUIPA

Re: Eliminar Macro en Tiempo de Ejecución

Notapor Antoni » 01 Ene 2012 09:33

Hola:

Prueba esta macro que elimina todo el proyecto VBA, no olvides hacer una copia primero.

Código: Seleccionar todo
'Elimina todos los objetos del proyecto VBA

    Sub DeleteAllVBACode()
        Dim VBProj As VBIDE.VBProject
        Dim VBComp As VBIDE.VBComponent
        Dim CodeMod As VBIDE.CodeModule
       
        Set VBProj = ActiveWorkbook.VBProject
       
        For Each VBComp In VBProj.VBComponents
            If VBComp.Type = vbext_ct_Document Then
                Set CodeMod = VBComp.CodeModule
                With CodeMod
                    .DeleteLines 1, .CountOfLines
                End With
            Else
                VBProj.VBComponents.Remove VBComp
            End If
        Next VBComp
    End Sub


Añade la referencia Microsoft Visual BAsic Extensibility.

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Antoni
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Dic 2009 04:58
Ubicación: GALICIA (ESPAÑA)

Re: Eliminar Macro en Tiempo de Ejecución

Notapor FernandoML » 01 Ene 2012 16:05

Muchas gracias a todos por vuestras respuestas:

Antoni he probado el código y añadido la referencia pero cuando llega a la siguiente linea me da el siguiente Error.

Se ha producido el error '13' en tiempo de ejecucion

No coinciden los tipos

Este error se produce al llegar a esta linea.
Set VBProj = ActiveWorkbook.VBProject

Sabrias decirme porque se produce?

Muchas gracias y hasta pronto.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48

Re: Eliminar Macro en Tiempo de Ejecución

Notapor FernandoML » 01 Ene 2012 16:16

Hola Antoni:

Ya esta solucionado, la referencia era la siguiente:

Microsoft Visual Basic for Applications Extensibility 5.3

De nuevo muchas gracias por vuestra ayuda.

Solucionado.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
FernandoML
Miembro Frecuente
Miembro Frecuente
 
Registrado: 20 Abr 2011 18:48


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados