Macros en Excel

C贸mo marcar una celda con un clic, usando VBA.

Raymundo Ycaza
#Macros (VBA)#Trucos Excel#馃 Automatizaci贸n con Excel

Muchas veces extra帽amos la forma de trabajar de otra aplicaci贸n, o quisi茅ramos darnos un peque帽o capricho con Excel, para poder darle a nuestros usuarios esa comodidad que necesitan para realizar su trabajo diario.

Por ejemplo, una forma f谩cil de seleccionar un conjunto de celdas para realizar una operaci贸n sobre ellas, ser铆a hacer clic sobre ellas mientras se van marcando (incluso sin necesidad de tener la tecla Control presionada)

Aunque la mayor铆a de las veces, la soluci贸n pasa por cosas tan sencillas como 茅sta, no necesariamente es tan obvio. Por eso, he querido traerte este resumen para mostrarte c贸mo marcar una celda con un clic, usando VBA.

驴Para qu茅 yo querr铆a algo as铆?

Cuando te cuento algo como esto, seguramente la primera pregunta que te haces es:

鈥溌縔 yo para qu茅 querr铆a hacer esto?鈥

La intenci贸n en esta idea, es poder realizar una selecci贸n m谩s c贸moda de las celdas que de alguna manera quieres 鈥渁ctivar鈥.

Lo que quiero decir, es que ser谩 una muy buena forma de facilitarle a tus usuarios el manejo de tu hoja de c谩lculo, especialmente si no son personas con mucho dominio de la herramienta.

Adem谩s, con 茅sto evitamos el uso de controles adicionales en tu hoja de c谩lculo, evitando tener que lidiar con un objeto adicional, que tal vez no sea necesario usar (o tal vez s铆, depende de tu caso)

驴Una raz贸n m谩s? S铆. Para aprender m谩s sobre las macros en Excel y saber c贸mo trabajan los eventos. Estos ejercicios son la mejor manera de ponerte en forma con las macros en Excel. Dicho esto鈥 隆Comencemos!

驴C贸mo funciona?

Lo primero que haremos, ser谩 detectar el momento en que el usuario ha hecho clic sobre una de las celdas que nos interesan.

Para esto, aprovecharemos el evento Worksheet_SelectionChange, de la misma forma que hicimos con otro evento en el art铆culo anterior.

Una vez que hemos sido capaces de saber que se ha seleccionado la celda con el rat贸n o usando el teclado, el siguiente paso ser谩 verificar el estado de la la celda seleccionada.

Es decir, nos preguntamos: 驴La celda est谩 鈥渆ncendida鈥 o est谩 鈥渁pagada鈥?

Cuando tengamos la respuesta a esta pregunta, el siguiente paso ser谩 asignarle el estado correspondiente. Esto es, si est谩 apagada, hay que encenderla, en caso contrario, hay que 鈥渁pagarla鈥.

Claro y sencillo, vas directo al punto. Ahora, 驴c贸mo lo haremos con el c贸digo?

Sigue leyendo y te lo cuento.

Creando el c贸digo.

Primero, vamos a crear un peque帽o listado que servir谩 de base para nuestro primer experimento. Algo as铆 estar谩 bien:

Texto Alt

Como acabo de decirte, primero debemos detectar que una de las celdas de inter茅s ha sido seleccionada.

En nuestro caso, las celdas que nos interesa revisar, son las de la columna B, as铆, el rango que usaremos ser谩

`B3:B20`

Al igual que hicimos en el art铆culo anterior, vamos a colocar nuestro c贸digo en un evento, pero en esta ocasi贸n usaremos el evento:

`Worksheet_SelectionChange`

Cada vez que el usuario selecciona una nueva celda, este evento se activar谩 y se ejecutar谩 todo el c贸digo que se encuentre dentro de 茅l.

Texto Alt

Ahora, como no nos interesa que se active en cualquier celda, vamos a poner una condici贸n para discriminar a todas las celdas que no se encuentren en el rango B3:b20

Texto Alt

Una vez que ya tenemos controlada la situaci贸n del cu谩ndo, ahora vamos a hacer la 鈥減regunta鈥: 驴La celda est谩 鈥渆ncendida鈥 o est谩 鈥渁pagada鈥?

Para esto, podemos preguntar por su valor o por su color. En mi caso, voy a preguntar por su color, as铆:

Texto Alt

El c贸digo 255, 255, 0 representa al amarillo, si la celda est谩 pintada de amarillo, entonces le quito el color (lo dejo en transparente), en caso contrario, la pinto de amarillo, de esta forma:

Texto Alt

En este mismo c贸digo, podr铆as tambi茅n asignarle un valor a la celda que se enciende, para usarlo de acuerdo a tu conveniencia, usando un c贸digo como 茅ste:

Texto Alt

El ejemplo trabajando.

Como puedes ver, nuestra aplicaci贸n funciona correctamente y realiza exactamente lo que quer铆amos. Ahora, nada m谩s falta que le agreguemos alguna funcionalidad adicional, para personalizarlo seg煤n tus necesidades.

Texto Alt

Descarga el archivo terminado.

驴Te ha gustado el trabajo? Si te interesa descargar el archivo terminado, para comparar o para guiarte, solo sigue las instrucciones (es gratis).

[sociallocker id=鈥5276鈥漖Pincha aqu铆 para descargar el archivo.[/sociallocker]

Nota: En este ejemplo, no he realizado ninguna validaci贸n, por lo que no est谩n considerados todos los posibles errores. Dependiendo de lo que necesites, deber谩s adecuarlo a tu realidad.

Conclusi贸n

Con peque帽os trucos como este, podemos dise帽ar aplicaciones en Excel que brinden facilidad al usuario, al momento de trabajar con ella, en lugar de convertirse en una pesadilla que desea evitar a toda costa.

Esto, nos permite crear soluciones reales a los problemas de nuestro negocio, sin recurrir a soluciones m谩s costosas, todo est谩 en la imaginaci贸n y dedicarle algo de tiempo para dise帽ar esa soluci贸n que est谩s necesitando.

隆Nos vemos!

鈫 Regresar al Blog