Macro que se ejecuta cuando se abandona una hoja

Necesito una macro que se ejecute cuando abandono una hoja. El problema es que esta macro hace referencia a unas formas( Shape) que están situadas en esa hoja, y si utilizo el comando

Private Sub Worksheet deactivate()

Si logro que se ejecute la macro pero al tener referencias a la hoja desacitava me da error.

¿Habría alguna manera de ejecutar la macro?
Había pensado en el siguiente código cogiéndolo como partida, pero no se seguir más:

Application.Goto ActiveWorkbook.Sheets("G.3 Daños y lesiones").Select
      If Range("AA51").Value = "Miembros inferiores (excepto pies)" Then
ActiveSheet.Shapes.Range(Array("14 Group")).Select
    Selection. ShapeRange. IncrementLeft -3386.8420472441
    Selection. ShapeRange. IncrementTop 173.6841732283

El porblema es que no se ejecuta. La idea es aunq esté en otra hoja de calculo que se ejecute una macro dentro de la hoja G.3 Daños y lesiones.

1 Respuesta

Respuesta
1

Prueba con la siguiente macro, cuando te sales de la hoja "G.3 Daños y lesiones", la macro apaga los eventos, regresa a la hoja "G.3 Daños y lesiones", mueve la forma y regresa a la hoja que habías seleccionado.

Private Sub Worksheet_Deactivate()
'Por.Dante Amor
    actual = ActiveSheet.Name
    Application.EnableEvents = False
    Sheets("G.3 Daños y lesiones").Select
    If Range("AA51").Value = "Miembros inferiores (excepto pies)" Then
        ActiveSheet.Shapes.Range(Array("14 Group")).Select
        Selection.ShapeRange.IncrementLeft -3386.8420472441
        Selection.ShapeRange.IncrementTop 173.6841732283
    End If
    Sheets(actual).Select
    Application.EnableEvents = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas