es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llamando a una macro al seleccionar una hoja de gráficos.

Estoy usando el siguiente código simple para ejecutar una macro “mymacro” al hacer clic/seleccionar una hoja.

Private Sub Worksheet_Activate()
Call mymacro
End sub

Cuando ejecuto la macro manualmente funciona muy bien, pero cuando hago clic en la hoja no funciona. Básicamente estoy usando la macro para cambiar los colores de un gráfico… así que cuando lo aplico a una hoja normal donde tengo un gráfico como objeto, funciona, pero cuando lo intento con una hoja donde solo hay un gráfico (creado mediante la opción “Mover gráfico” en una nueva hoja) no sucede nada.

Gracias por la ayuda.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Hola,

    Parece que la macro no se activa cuando se hace clic o se selecciona la hoja. Una posible solución es agregar otro evento además de Worksheet_Activate, que es Worksheet_SelectionChange.

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Call mymacro
    End Sub

    Este código ejecutará la macro cada vez que se seleccione una celda dentro de la hoja.

    En cuanto al problema con el gráfico, podría ser porque el gráfico no está configurado como el objeto activo dentro de la hoja. Intente agregar la siguiente línea antes de llamar a la macro:

    ActiveSheet.ChartObjects(“Nombre del Gráfico”).Activate

    Reemplace “Nombre del Gráfico” con el nombre real de su objeto de gráfico. Esto asegurará que el objeto de gráfico esté activo antes de realizar cualquier cambio en su formato.

    ¡Espero que esto ayude! Avíseme si tiene alguna pregunta adicional.

Comments are closed.