RESALTAR FILA Y CELDA ACTIVA EN EXCEL CON MACRO VBA

RESALTAR FILA Y CELDA ACTIVA EN EXCEL CON MACRO VBA

bienvenidos una vez más a su canal puro excel bueno en el vídeo anterior para quienes no lo han visto acá arriba encontrará una tarjeta a la cual les dirigirá al enlace del vídeo anterior de esta serie en el vídeo anterior explicamos cómo resaltar la fila activa iselda activa de un rango usando formato condicional para quienes les interese en este vídeo explicaremos cómo resaltar fila activa y celda activa de otro color pero utilizando netamente un código de visual beige para aplicaciones en la hoja el 'diario encontramos el ejercicio que vemos en el vídeo anterior en el cual como ven al momento de que le mueva por las celdas del rango la tabla se resalta de un color específico nuestra fila y además de otro color específico nuestra celda activa y por otro lado también cambia el color de nuestra de nuestra fuente que en este caso la tenemos en automático negro pisar otra fila se cambia hablando ok pero si vemos en este caso a pesar de que no salgamos del radio podemos ver que las celdas las celdas se siguen resaltando las que están dentro del rango del formato condicional esto como lo hicimos vamos a ir al formato condicional los paramos en la tabla formato condicional le vamos a decir que administrar reglas y aquí podemos ver las dos reglas que pusimos para hacer nuestro formato condicional hicimos una pequeña fórmula para el color de la celda activa hicimos otra fórmula para el color de la ffyl activa ahora esto obviamente ayudándose de un pequeño código que es tan simple como actualizar la tarjeta cada vez que nos movamos dentro de la hoja o calcular la tarjeta pero en este ejemplo hoy vamos a ver cómo hacer lo mismo pero si vemos entonces nos cambia cada vez que nos movemos pero si me muevo hacia afuera de la tabla sangre que la diferencia es que el código afecta mi tabla sólo si estamos situados dentro del rango que especificamos en nuestro código va a funcionar y en este caso si vamos a ir al formato condicional le vamos a decir administrar reglas en esta hoja no tenemos reglas ok listo a cambio de eso lo que tenemos es al darle clic derecho en la hoja y vamos a ver código tenemos este pequeño código que fue el que utilizamos para dar nuestro formato a la fila activa y celda activa bueno vamos a explicar paso a paso cómo lo hacemos vamos a escribirlo desde cero vamos a cerrar acá clic derecho mostrar esta hoja con macros dos aceptar una copia que le cree antes de realizarla y acá es en donde vamos a hacer nuestro ejemplo desde ceros vamos a dar clic derecho a nuestra hoja y le vamos a dar en la opción merckle listo como vemos tenemos un se nos abre el módulo de la hoja por llamarlo así o el espacio de del código pero específicamente de nuestra hoja el primer paso que debemos hacer es ir acá desplegamos las opciones de objeto y vamos a escoger el objeto word sheets y el evento que nos aparece automático de su work sheets selección sites que quiere decir que cada vez que se actualice la selección de la hoja se va a calcular la tarjeta y dentro de este evento o este procedimiento es que vamos a escribir nuestro código para empezar me voy a parar acá fuera del código y voy a escribir el código opciones presente esto para que nos obligue a declarar nuestras variables listo como ven se genera una línea arriba de nuestro procedimiento yo hacer la línea que nos va a obligar a declarar nuestras variables listo vamos a dar un poco de espacio y ahora lo primero que vamos a declarar es una variable como estática que en este caso la vamos a llamar fila activa vamos a escribir la palabra static fila activa y la vamos a declarar como interés listo luego de que declaramos nuestra primera variable vamos a declarar otras tres variables una que va a ser entonces con la palabra dyn vamos a llamar una de nuestras variables mi ran y ésta la vamos a declarar como rights la segunda variable y nuestra palabra deal la vamos a llamar conteo filas como intel es nuestra tercera variable la vamos a declarar como conteo columnas y de igual forma va a ser interior listo ya habiendo declarado nuestras variables entonces podemos empezar a asignarle valores a nuestras variables a la primera que vamos a asignar valor que va a ser a nuestro a nuestra variable rango entonces escribimos set mi rango es igual a que active sheets o nuestra hoja activa punto range abrimos paréntesis abrimos comillas b 2 cerramos paréntesis punto ocurre lo que estamos haciendo aquí con esta variable le estamos diciendo que en base a nuestra celda b 2 de nuestra hoja activa nos va a tomar el rango actual qué quiere decir esto si yo primo a camps si me posiciono en la celda b2 y oprimo la tecla shift espacio me va a seleccionar toda la primera línea pero que está dentro del rango activo listo y si ahora oprimo control flecha abajo entonces nos selecciona todo el rango actual teniendo en cuenta los encabezados si colocamos si asignamos digamos una nueva columna o una nueva fila hacia abajo esto se va a agregar automáticamente por eso es mejor de esta manera la variable para qué y sea automática esto lo podemos hacer también con las teclas shift control espacio automáticamente se nos selecciona el rango actual esto lo que le estamos diciendo a nuestro código que nuestro rango sea la variable y mi rango está haciendo referencia a este espacio listo si yo colocar aquí cualquiera digamos aquí otra columna en la exposición o en la misma ubicación control shift espacio mira que nos agrega esa nueva columna al rango actual entonces debido a esto va a ser automática ok continuamos vamos a declarar ahora asignarle valor a nuestra variable conteo filas entonces escribimos conteo filas conteo filas va a ser igual a mi rango punto rounds puntocom qué quiere decir esto va a ser el conteo de las filas de mi rango entonces a qué se refiere si acá seleccionamos entonces el valor de nuestra variable debería ser 23 si agregamos más filas pues va a ser 24 y así sucesivamente si nuestro rango va a ir cambiando conteo de filas vamos a asignar nuestra variable que va a ser conteo de columnas el conteo columnas va a ser igual a que a mi rango punto kohls.com entonces que quiere decir que el conteo en nuestras columnas usa la variable conteo columnas es igual a mi rango punto colts puntocom de igual forma que las filas si yo selecciono todas nuestras columnas hacia la derecha pues el conteo de mis columnas sería serían 11 ok si agregó otra columna pues serían 12 de esta forma funciona teniendo ya declaradas nuestras variables mi rango conteo filas y conteo columnas podemos proceder a escribir nuestro código que va a restringir nuestro rango para que independientemente de que me mueva por fuera de mi rango ya no se ponga el color y asimismo vamos a ir asignando los colores listo entonces vamos a escribir gif active se les punto road mayor a 2 o sea and active es el punto menor igual menor o igual a que al conteo de filas conteo filas más 1 en este caso y con la palabra and active el punto color mayor que 1 y active el punto colon menor igual que conteo columnas más 1 lesión y la palabra tiene aquí que le estamos diciendo estamos diciendo que si la celda activa o la fila de la celda activa si es mayor a 2 y también si la fila activa es menor o igual al conteo de filas más 1 y la celda activa de la columna o sea la columna activa es mayor a 1 y la columna activa sea menor o igual al conteo de columnas más 1 que le estamos diciendo acá que si mi rango es mayor o sea la fila es mayor a 2 o sea si se para acá se active el código y mayor que 1 al conteo de columnas o sea cese para acá ya no activar el código si se para acá si va a activar el coro si se dan cuenta y también si el conteo de mis columnas es mayor a 2 como se dan cuenta acá y que debe ser el conteo de mis columnas activo es mayor que 1 y tiene que ser el conteo de mis columnas más 1 o sea aquí si ya me paro acá ya no se va a activar el código si se dan cuenta ok eso le estamos diciendo con esa línea de código continuamos entonces si se cumplen estas cuatro condiciones vamos a ejecutar el siguiente código lo primero que tenemos que hacer es declarar nuestra variable fila activa que en este caso va a ser fila activa va a ser igual a ti vessels punto road ahora le vamos a decir que el siguiente procedimiento va a ser el que va a cambiar el formato de nuestra fill activa y de nuestra celda activa lo primero que vamos a cambiar es el formato de nuestra fill activa vamos a utilizar aquí el with erwin cuál va a ser va a ser cels abrimos paréntesis active cels punto y coma ahora cuál va a ser la columna la columna 2.3 sites o sea vamos a redimensionar nuestro rango abrimos paréntesis 1 coma conteo columnas cerramos paréntesis me falta un paréntesis sacar la les cerramos nuestro wing vamos a escribir punto entero va a ser igual a entonces aquí vamos a utilizar la biblioteca bebé a rgb en la cual podemos encontrar el índice de colores para que nos va a servir el índice de colores o colores personalizados para poder colocar un color que a nosotros nos guste que no sea un color ya predeterminado con un índice x 1 2 3 4 5 no sino que podamos dar un color personalizado a nuestra línea como lo hacemos y como sabemos cuál es nuestro color personalizado en este caso de la función ya tengo acá 0 en nuestra hoja 3 tengo acá el índice de colores que voy a usar entonces le voy a decir que para mí fill activa voy a usar el índice de color de rojo 0 de verde 128 y de azul 128 como lo hacemos de esta manera en nuestro código entonces vamos a escribir igual bebé a punto rgb abrimos paréntesis y con el primer argumento va a ser el rojo cierto dijimos que el rojo era 0 nuestro segundo argumento va a ser cierto y ocho nuestro tercer argumento separando con coma va a ser 128 y cerramos paréntesis enter y aquí lo que hicimos fue cambiar el color del de el relleno de nuestra fila o el relleno de nuestras celdas de nuestra fila listo ahora vamos a cambiar el color de nuestra fuente como lo hacemos para poder cambiar el color de nuestra fuente entonces vamos a escribir punto punto font punto color es igual a vamos a escribir bbva punto hereje m abrimos paréntesis para el color de nuestra fuente vamos a utilizar el código del color blanco en este caso que va a ser este 2 55 255 255 y cerramos paréntesis listo y por tercero vamos a darle negrita a nuestro texto de nuestra fila activa como lo hacemos punto found bolt es igual a true acá ya le dimos formato a nuestra fila activa en donde le pusimos 1 específico y personalizado a nuestro a nuestro relleno de celda además le cambiamos también el color de fuente personalizado y le pusimos negrita vamos a comprobarlo iremos a nuestra hoja vamos a nuestra hoja con marco los dos y si nos paramos a nuestra baja con macros 2 ya nos damos cuenta de que nos empieza a colocar color en nuestra fila activa y una nueva fuente además de colocarnos negrita como nos damos cuenta nos está colocando además de eso no se está manteniendo el formato cada vez que nos movemos pero da igual si nos movemos hacia afuera mira que ya no no se ve como en el ejercicio del vídeo anterior en donde podíamos observar que a pesar de que consideramos que fuera de nuestro rango el formato se seguía cambiando dentro de nuestro rango acá ya solucionamos uno de los problemas ahora nos falta colocar el formato a nuestra celda activa a qué me refiero que esta celda activa en este caso la g 9 se debería marcar de otro color que en este caso va a ser este color un mismo tono pero más claro entonces vamos a hacerlo estando aquí después de haber cerrado nuestro en wii en which vamos a escribir la siguiente línea de código la que va a ser activa es el punto interior punto color va a ser igual a que vea rgb abrimos paréntesis y va a ser el índice de color 0 166 188 y cerramos paréntesis comprobemos lo estando acá ya nos damos cuenta de que nuestra celda activa se va cambiando de color si se dan cuenta pero de igual forma se sigue manteniendo nuestro color cada vez que nos movemos si nos movemos por toda la tabla pues nos va a pintar toda la tabla de los colores que ya especificamos en el código o sea no está reseteando el color cada vez que salgo de esa fila que es lo que debería ser y es lo que queremos hacer para eso nos falta un código ok para resetear nuestro color de nuestra celda al momento de que salimos de ella cuál es el código que necesitamos vamos a necesitar un código muy similar a este pero antes vamos a utilizar un ife entonces vamos a decirle acá que va a ser si fila activa es diferente a vacío entonces entonces aquí ese no necesitamos el código que tenemos acá yo hace muy parecido vamos a darle control sea este código y lo vamos a pegar acá que vamos a cambiar o que necesitamos cambiar nuestro weight no va a hacer referencia a este código va a hacer referencia al siguiente código que va a ser igual a shields abrimos paréntesis fila activa coma entonces nuestra columna va a ser cual la dos cerramos paréntesis punto y sites abrimos paréntesis uno coma conteo de columnas cerramos paréntesis ahora que necesitamos acá este primer código lo vamos a borrar y vamos a escribir el siguiente que va a ser punto interior punto color index va a ser igual a ninguno ahora el color de nuestra fuente va a ser el código de color para negro que es igual a cero y 0 y para nuestra negrita va a ser igual a faltas teniendo esto ya podríamos ver si nuestro código funciona veamos los paramos aquí y vemos que ya empieza a resetear nuestro color a la medida que nos movemos mira que empieza a resetear el color a la a la media que vamos bajando entonces ya al momento de que recete amos todos los colores vemos que cada vez que nos movemos entonces efectivamente mi celda activa tiene un color quien me fila activa tiene otro color y además tenemos negrita y tenemos nuestra fuente también en color blanco pero cuando salimos de esa fila vemos que ella vuelve a su estado original y recuerden que esta plantilla es totalmente descargable la encontrarán en la descripción del vídeo igual encontrará además los invitamos a suscribirse al canal a dar su opinión acerca del vídeo recuerden que eso nos ayuda muchísimo y además también sugerencias sobre nuevos vídeos si es el caso muchas gracias

Noticias relacionadas