Ejecutar Macro al Cambiar de Hoja

20/06/2007 - 05:16 por ubeosorio | Informe spam
Hola comunidad, necesito colaboración para poder crear lo siguiente:

"Que se ejecute una macro al cambiarme de hoja".

No me interesa que se ejecute al abrir el libro, solo al cambiarme de
la "hoja 1" a la "hoja 2".

no tengo mucha experiencia, por lo general grabo las acciones y luego
articulo la macro.

Gracias por la ayuda

Ubeimar Osorio

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
20/06/2007 - 05:30 | Informe spam
hola, Ubeimar !

No me interesa que se ejecute al abrir el libro, solo al cambiarme de la "hoja 1" a la "hoja 2".
no tengo mucha experiencia, por lo general grabo las acciones y luego articulo la macro.



en los modulos de codigo de cada objeto 'Worksheet' tienes disponibles dos eventos: '_activate' y '_deactivate'
dependiendo de cual sea tu requerimiento 'especifico' [me explico]:

a) al 'salir' de alguna hoja: usa el evento '_deactivate' <= no importa hacia cual hoja te cambiaste

b) al 'entrar' a alguna hoja: usa el evento '_activate' <= no importa de cual hoja 'vienes'

c) si necesitas que la macro se ejecute *exclusivamente* al cambiarte de la hoja1 a la hoja2...
copia/pega lo siguiente en el modulo de codigo de la hoja1:

Private Sub Worksheet_Deactivate()
If LCase(ActiveSheet.Name) = "hoja2" Then
MsgBox "Ejecutando las acciones correspondientes ..."
End If
End Sub

[hay otras variantes y alternativas, asi que]...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 ubeosorio
20/06/2007 - 05:53 | Informe spam
No tuve exito en la elaboracion de la macro, si me pueden colaborar
nuevamente, muchas gracias.

Ubeimar Osorio
Respuesta Responder a este mensaje
#3 Héctor Miguel
20/06/2007 - 06:02 | Informe spam
hola, Ubeimar !

No tuve exito en la elaboracion de la macro, si me pueden colaborar nuevamente [...]



es probable que 'debas' mover el codigo que 'grabaste' al modulo de codigo de alguna hoja [pero]...
cual es el procedimiento que *realmente* te interesa ?

a) al 'salir' de la hoja1 ? <= no importa hacia cual hoja te cambiaste
b) al 'entrar' a la hoja2 ? <= no importa de cual hoja 'vienes'
c) *exclusivamente* al cambiarte de la hoja1 a la hoja2 ?

saludos,
hector.
Respuesta Responder a este mensaje
#4 ubeosorio
21/06/2007 - 05:46 | Informe spam
hola, Hector!

...el procedimiento que *realmente* me interesa es

"al 'entrar' a la hoja2 <= no importa de cual hoja 'vienes'"

Gracias

Ubeimar
Respuesta Responder a este mensaje
#5 Héctor Miguel
21/06/2007 - 06:00 | Informe spam
hola, Ubeimar !

...el procedimiento que *realmente* me interesa es
"al 'entrar' a la hoja2 <= no importa de cual hoja 'vienes'"



haz un click-secundario sobre la etiqueta con el nombre de tu "hoja2" y selecciona: -> ver codigo
copia/pega lo siguiente en el modulo que sera mostrado en el editor de vba:

Private Sub Worksheet_Activate()
MsgBox "Acabas de entrar en " & Me.Name
End Sub

sustituye el MsgBox por las instrucciones que necesitas y...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida