Custom Search

Marcar celda cuando la sumatoria sea igual a cierto valor



Si estás usando macros para automatizar tu libro de Excel seguramente te es necesario saber seleccionar o referenciar celdas, en FORMAS DE SELECCIONAR O REFERENCIAR CELDAS CON VBA (Spanish Edition) encontrarás una excelente ayuda; si trabajas con fechas en Excel, fíjate en el siguiente link que te puede ser de utilidad FORMATOS Y FUNCIONES DE FECHA Y HORA DE MICROSOFT EXCEL (Spanish Edition)

 

Te recomiendo que leas un excelente libro sobre Excel el que te ayudará operar las planillas de cálculo, haz click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

En un foro me preguntan sobre si es posible en su caso como marcar una celda cuando las sumatoria de las anteriores sea igual o mayor a 100, desde ya les digo que es posible, de hecho se muestra en el presente ejemplo, desde el link del final podrás descargar el ejemplo y adaptarlo a tus necesidades, el código se encuentra abierto y sin ningún tipo de restricción, te recomiendo descargar el ejemplo y ver su codificación y funcionamiento.


El código o ejemplo de macro tiene como finalidad remarcar o marcar con color, en este caso rojo, ello a modo de aviso sobre cuando la sumatoria de las celdas anteriores sea mayor o igual a un valor dado; para lograr esto se vale de un bucle que recorre todas las celdas con datos hasta la última fila con datos, cada vez que el bucle analiza un celda se va sumando el valor de la celda, para comparar con el valor de referencia, en este caso es 100, si es menor sigue el bucle si es igual o mayor marca la celda con rojo, volviendo a cero las variables que suman el valor de las celdas, para empezar nuevamente a buscar datos, en parpadeo de celdas, verás algo parecido con la diferencia que la celda parpadea cuando se llega al valor critico dado.

 En el ejemplo el color de la celda para marcarla es rojo, para lograr esto se debe usar el siguiente código, que se expone a continuación :

Sheets("hoja1").Cells(fila, 2).Interior.Color = 255


Código que se inserta en un userform



Sub Sel()
Dim fila, conta, contat, filar1, filar2 As Integer
fila = 2
conta = 0
contat = 0
filar1 = 2
filar2 = 2
Range("B:B").Interior.Color = xlNone
While Sheets("hoja1").Cells(fila, 2) <> Empty
conta = Sheets("hoja1").Cells(fila, 2)
r1 = Sheets("hoja1").Cells(filar1, 2).Row
r2 = Sheets("hoja1").Cells(fila, 2).Row
contat = contat + conta
If contat >= 100 Then
Sheets("hoja1").Cells(fila, 2).Interior.Color = 255
conta = 0
contat = 0
filar1 = fila + 1
End If
fila = fila + 1
Wend
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