Como capturar click en una celda con VBA en Excel - Capítulo 263

Como capturar click en una celda con VBA en Excel - Capítulo 263

Muy buenas, bienvenidos a un nuevo vídeotutorial soy Josematube y hoy vamos a ver como podemos capturar el evento click de una celda, es decir queremos ver y reaccionar al evento que se produce cuando un usuario hace click en una celda. Es muy sencillo vais a ver, parto de una hoja en blanco como veis con 3 hojas y lo que voy a hacer es un pequeño truco donde voy a analizar y a sacar un mensaje por pantalla en el caso de que un usuario haga click en esta celda, por ejemplo B3.Así que voy a irme a ALT+F11 de esta forma nos vamos al editor de aplicaciones de Visual Basic como veis y vamos a crear un código en una de estas 3 hojas. Voy a pinchar enesta hoja 1, lo que va a ocurrir con esto es que todo el código que haga aquí, solose va a aplicar a la hoja1. Es una buena practica con lo cual hacemos lo siguiente. Para suscribirme al evento click de una celda realmente si os paráis a pensar que alguien haga clickes algo parecido a indicar cuando la selección cambia, fijaros lo que os voy a decir antesde ponerme con el código fijaros. Si yo tengo el foco en cualquier celda el evento clickse produce cuando cambia la selección, es decir cuando cambia la selección es casicasi como si fuera un click. Me voy a ALT+F11 y voy a poner aquí en la hoja 1, "PrivateSub Worksheet_SelectionChange" con esto conseguimos crear nuestro manejador del evento y estafunción que veis aquí, esta subrutina se va a ejecutar cuando la selección cambie,es decir cuando vaya clicando en las diferentes celdas. Lo que por defecto este manejadorrecibe es un parámetro, vamos a llamarlo celdActiva as Range. Lo que recibe es un rango, un rango que en este caso va a ser una sola celda y aqui lo que voy a hacer es lo siguiente, voy a coger y voy a poner "MsgBox" para sacar un mensaje por pantalla y voy a poner "elusuario ha hecho click en la celda" y aqui concateno ese texto con ese ampersand (&), ese simbolito y pongo celdaActiva.Address, que es una propiedad de Range que lo que me da es la dirección digamos a nivel fila y columna y me imprimirá por pantalla ese mensaje,vale? Vamos a probar si funciona en la hoja 1, voy a cerrar esto y esto. Me voy a la hoja1 y voy a hacer click en la celda D7, "El usuario ha hecho click en la celda D7, veis? cuando me voy a la A1, "el usuario ha hecho click en la celda A1. Como veis es muy fácil hacer una rutina que me permita capturar el evento click en cualquier hoja, incluso reaccionary modificar valores en base a la celda que el usuario ha clicado, asi que nada esperoque os haya sido de utilidad este vídeo tutorial, si es así ya sabéis hacer un +1 que me ayuda mucho. Suscribiros al canal estoy en Facebook, Twitter y Google+ como Josematube, también podéis suscribiros a una comunidad de Google+ que he abierto hace poco llamado "Todo sobre Excel" y en Facebook también. Y podéis seguirme en el blog josematube.com asi que nada lodicho simplemente mandaros un saludo gracias por la atención y nos vemos en próximostutoriales, hasta luegoo.