Evento de clic del mouse en VBA (Microsoft Excel)
Supriyo preguntó si hay un controlador de eventos de mouse en VBA. Quiere un valor insertado en una celda cuando se hace clic en esa celda.
La forma estándar de hacer esto es con el evento SelectionChange. Cada vez que cambia la selección en la hoja de trabajo, se activa el evento. El evento no solo se activa cuando se hace clic en una celda, sino también si alguien presiona una tecla de control del cursor que da como resultado que se seleccione una celda diferente.
Como ejemplo, digamos que desea que la celda B5 contenga el valor 10 siempre que se seleccione esa celda. Para implementar eso, podrías usar lo siguiente:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("B5")) Is Nothing Then _ Range("B5").Value = 10 End Sub
Este código se agrega a uno de los objetos de hoja en el área del Explorador de proyectos del Editor de VB. Haga doble clic en la hoja de trabajo a la que desea que se aplique el controlador de eventos y luego agregue la macro a la ventana de código resultante.
Cuando se desencadena el evento SelectionChange, el objetivo (el rango de celdas que se selecciona) se pasa al controlador. Luego, la macro verifica si el rango objetivo contiene la celda B5 y, si lo hace, introduce el valor 10 en la celda B5. Si desea asegurarse de que la macro solo incluya información en B5 si solo se selecciona B5 (la celda única), puede usar esta versión de la macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = Range("B5").Address Then _ Range("B5").Value = 10 End Sub
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (3070) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:
link: / excelribbon-Mouse_Click_Event_in_VBA [Evento de clic del mouse en VBA]
.