Ejecutar una macro al hacer clic o seleccionar una celda

Ejecutar una macro al hacer clic o seleccionar una celda

Estoy intentando generar un MsgBox cuando un usuario hace clic en una celda. La celda actualmente tiene un nombre. He escrito el siguiente código pero no veo ninguna alerta.

Sub Send_Alert()
    If ActiveCell.Name.Name = "Name01" Then
        MsgBox "You have clicked"
    End If
End Sub

¿Dónde me equivoco?

Respuesta1

Tu submarino no está siendo evaluado. Es necesario llamar a su sub para que se ejecute el código.

Necesitas llamar a tu sub o código desde un evento. Los eventos se llaman mediante interrupciones del sistema (es decir, cuando se mueve el mouse) o en un nivel más abstracto (es decir, cuando se hace clic en un botón o se cambia de celda).

Para su propósito, probablemente necesite utilizar el evento SelectionChange. Tenga en cuenta que este evento ocurremuchoy puede ralentizar su sistema o incluso bloquear Excel por completo. El evento también se llama si cambia la selección en otro libro abierto. Asegúrese doblemente de que su código solo se ejecute cuando lo necesite. Si una desaceleración es inevitable, intente usar Application.ScreenUpdating = False; ... otro código ... ; Application.ScreenUpdating = True, para posponer las actualizaciones de pantalla hasta que se haya ejecutado todo el código (probablemente no sea necesario si solo está llamando a un msgbox).

ingrese la descripción de la imagen aquí

información relacionada