Excel - ¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

 
Vista:
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por celia (392 intervenciones) el 30/05/2021 17:12:47
Hola de nuevo

Me pregunto si se puede hacer una macro para que al ejecutarla desactive todo el código que tenga la hoja.
Por ejemplo en la captura, en el rectángulo negro, está el código que tiene la hoja, todo activado.
Hay veces que necesito que no esté activado y no sé si se puede hacer una macro para desactivar todo ese código de la hoja, como está en el rectángulo verde de abajo, donde se han puesto los acentos delante de todas las líneas para que no se ejecute nada.
O si se puede hacer una macro que lo borre todo y otra que vuelva a pegar ese código en la hoja cuando se necesite, sin tener que abrir el visor VBA

Muchas gracias.
Saludos.

hoja
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de David
Val: 211
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por David (11 intervenciones) el 30/05/2021 18:10:16
Hola, se puede con la propiedad EnableEvents: "Application.EnableEvents"
Debes crear un boton o un atajo de teclado (yo use un boton para activar y desactivar)
Este código es para todos los eventos que tengas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub CommandButton1_Click()
 
    If Application.EnableEvents = True Then 'por defecto todos los eventos estan a true al inicio
        Application.EnableEvents = False 'aqui lo deja a False
        Exit Sub 'sale de la ejecucion del código
    Else: 'si esta en False el evento
        Application.EnableEvents = True 'lo cambia aTrue, habilitando todos los eventos
    End If
End Sub
 
'este mensaje aparece al cambiar de hoja y luego volver a la hoja
Private Sub Worksheet_Activate()
    MsgBox "evento activo"
End Sub

Screenshot_2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por celia (392 intervenciones) el 31/05/2021 09:11:15
Muchas gracias, me sirvió perfecto.
Un saludo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por Antoni Masana (1790 intervenciones) el 31/05/2021 15:19:07
La solución de David tiene un pequeño problema y es que desactiva todos los Eventos, si tiene solo uno no hay problema, pero si tienes varios eventos y solo quieres desactivar uno no funciona.

Otra opción es usar una variable publica booleana o el valor de una celda y lo primero que haga el evento es evaluar esta variable o celda.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por celia (392 intervenciones) el 03/06/2021 11:43:35
Sí que tengo otro evento que deja de funcionar.
Esa opción que comentas de poder usar una celda sería mejor sí, porque si la celda pone "Encendido" o "Apagado" se sabría el estado del los eventos.
Si eres tan amable de sorprenderme otra vez con el código hecho para torpes te lo agradezco de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 148
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

¿se puede desactivar el código que tenga la de la hoja con una macro sien entrar en VBA?

Publicado por Norberto (3 intervenciones) el 03/06/2021 13:19:19
Hola:

Pon

If Range("Celda donde quieras poner Encendido/Apagado") = "Apagado" Then Exit Sub

al principio del procedimiento.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar