Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Formato a filas dependiendo del valor de una celda

La macro de Excel o procedimiento de VBA, es bastante útil cuando se desea dar formato, pero dependiendo del valor de una celda, en este ejemplo se da color a una fila en forma automática. Como se puede observar en el ejemplo proporcionado, la macro de Excel colorea toda la fila de la celda actual, dependiendo del valor de la celda, en este caso, el valor esta dado por la columna A.
Se puede descargar el ejemplo en forma gratuita, analizarlo  y modificarlo, como se desee, no sólo es posible colorear la fila, sino aumentar el tamaño de la fuente, ancho de fila, color de fuente, poner negrita, mayúscula, minúscula; estos últimos formatos están explicados en forma detallada en un post de este blog, pudiendo encontrarlo en mapa del sitio, en definitiva se puede dar el formato que se desee, todo va a depender del valor de la columna A; haz click en el link del final para bajar el ejemplo.

También en cambiar celda de color a medida que se desplaza por la hoja podrás encontrar una variante parecida, en este caso no se tiene en cuenta el valor de una celda, sino que a medida que se desplaza por las filas de la hoja de cálculo, se van coloreando las celdas, es bastante útil cuando tienes una tabla con muchos datos y no te quieres perder dentro de ella.

El vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textboxcomo crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mailtrabajando con filas, celdas, columnas, rangos y muchos ejemplos más.


 

El código que se encuentra a continuación se debe ingresar en Worksheet, descargando el ejemplo lo podrás ver en funcionamiento, analizar, modificar y adaptar a lo que tú estés realizando el código está abierto sin ningún tipo de restricción.

Código a insertar en Worksheet

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Cells.Count = 1 And Target.Column = 1 And Target.Text = «Yes» Then
Target.Offset(0, 0).Interior.ColorIndex = 8
Target.Offset(0, 1).Interior.ColorIndex = 8
Target.Offset(0, 2).Interior.ColorIndex = 8
Target.Offset(0, 3).Interior.ColorIndex = 8
Target.Offset(0, 4).Interior.ColorIndex = 8
Target.Offset(0, 5).Interior.ColorIndex = 8
Target.Offset(0, 6).Interior.ColorIndex = 8
Target.Offset(0, 7).Interior.ColorIndex = 8
Target.Offset(0, 8).Interior.ColorIndex = 8
Target.Offset(0, 9).Interior.ColorIndex = 8
Target.Offset(0, 10).Interior.ColorIndex = 8
‘Target.Offset(0, 11).Interior.ColorIndex = 8
Target.Offset(0, 12).Interior.ColorIndex = 6
Target.Offset(0, 13).Interior.ColorIndex = 6
Target.Offset(0, 14).Interior.ColorIndex = 6
Target.Offset(0, 15).Interior.ColorIndex = 6
Target.Offset(0, 16).Interior.ColorIndex = 6
‘Target.Offset(0, 17).Interior.ColorIndex  =8
Target.Offset(0, 18).Interior.ColorIndex = 4
‘Target.Offset(0, 19).Interior.ColorIndex  =8
Target.Offset(0, 20).Interior.ColorIndex = 9
Else
Target.Offset(0, 0).Interior.ColorIndex = xlNone
Target.Offset(0, 1).Interior.ColorIndex = xlNone
Target.Offset(0, 2).Interior.ColorIndex = xlNone
Target.Offset(0, 3).Interior.ColorIndex = xlNone
Target.Offset(0, 4).Interior.ColorIndex = xlNone
Target.Offset(0, 5).Interior.ColorIndex = xlNone
Target.Offset(0, 6).Interior.ColorIndex = xlNone
Target.Offset(0, 7).Interior.ColorIndex = xlNone
Target.Offset(0, 8).Interior.ColorIndex = xlNone
Target.Offset(0, 9).Interior.ColorIndex = xlNone
Target.Offset(0, 10).Interior.ColorIndex = xlNone
‘Target.Offset(0, 11).Interior.ColorIndex = xlNone
Target.Offset(0, 12).Interior.ColorIndex = xlNone
Target.Offset(0, 13).Interior.ColorIndex = xlNone
Target.Offset(0, 14).Interior.ColorIndex = xlNone
Target.Offset(0, 15).Interior.ColorIndex = xlNone
Target.Offset(0, 16).Interior.ColorIndex = xlNone
‘Target.Offset(0, 17).Interior.ColorIndex = xlNone
Target.Offset(0, 18).Interior.ColorIndex = xlNone
‘Target.Offset(0, 19).Interior.ColorIndex = xlNone
Target.Offset(0, 20).Interior.ColorIndex = xlNone
End If
Application.ScreenUpdating = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends