Macro que borra otra macro

Alguna vez necesitaremos que una macro se ejecute una única vez. En otro caso querremos que en unas determinadas condiciones se elimina una macro. Bien, éste código os puede ayudar.

Sub EliminaMacro(macro as string, mòdul as string)

Dim liDeb, NbLi

With ThisWorkbook.VBProject.VBComponents(mòdul).CodeModule
    liDeb = .ProcStartLine(macro, 0)
    NbLi = .ProcCountLines(macro, 0)
    .DeleteLines liDeb, NbLi
End With

End Sub
La llamada a la macro se realiza desde otra macro:
EliminaMacro “[nombre_de_la_macro]”, “ “[nombre_del_módulo]”
Ésta macro elimina sólo la macro especificada dentro el módulo especificado, deja todas las otras líneas de código intactas. Cómo es una subrutina con variable, la macro queda oculta y no se puede ejecutar desde el menú Macros > Macros… (Alt+F8). También podemos eliminar las variables y poner directamente el nombre del módulo y de la macro manualmente en los sitios especificados, de ésta manera la macro seria visible. Si queremos que la macro se elimine a sí misma sólo debemos especificar su propio nombre.

10 comentarios:

Anónimo dijo...

hola, andaba bscando algo asi,pero sabes? no funciona, lo que necesito necesito eliminar el modulo 5 y nada mas, como lo hago??

gracias

Anónimo dijo...

Entendido, pregunta, si queda oculta entonces como hago para que corra?

Anónimo dijo...

No funciona tu macro...............!
marca error. como la cargas?

CesarFiguera dijo...

A MI ME FUNCIONÓ DE LA SIGUIENTE MANERA...


Sub EliminaMacro()
Dim liDeb, NbLi

With ThisWorkbook.VBProject.VBComponents("MiModulo").CodeModule
liDeb = .ProcStartLine("MiMacroDentroDeMiModulo", 0)
NbLi = .ProcCountLines("MiMacroDentroDeMiModulo", 0)
.DeleteLines liDeb, NbLi
End With

End Sub

Kaminante dijo...

Super ayuda, genial

Anónimo dijo...

si tengo el codigo dentro del modulo de la hoja como adapto tu codigo.
ejemplo: hoja 25(POSICION)

Zz Zz dijo...

tory burch outlet store
hermes handbags
ugg boots
nike outlet
moncler outlet
ralph lauren outlet
coach outlet
canada goose sale
louis vuitton outlet
longchamp outlet online
clb1113

dong dong23 dijo...

ugg boots
new balance
nfl jerseys
balenciaga
nike cortez
canada goose
north face
uggs outlet
wholesale snapback hats
mbt
20182.5wengdongdong

dong dong23 dijo...

jordan
clarks shoes
new balance shoes
miu miu shoes
fendi
nike air max
ray ban sunglasses
mizuno
pandora
nike air force
2018.6.15chenlixiang

dong dong23 dijo...

pandora charms
wholesale hats
tom ford sunglasses
nike shoes for men
michael kors outlet clearance
timberland boots
air max 270
michael kors taschen
persol sunglasses
polo ralph lauren
2018.8.1zhouyanhua

Publicar un comentario

Gracias por dejar tu comentario.