.
Antes de seguir 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.
Do While cells (x,1) = empty
instrucciones
x=x+1
Loop
Esta es una estructura clásica para recorre las celdas del libro de Excel, es decir While analizará si la celda que se está recorriendo en cada momento es vacía, es decir se llegó a la última fila con datos, en ese caso deja de realizar el bucle.
También se puede usar While al final, la diferencia es que en este caso el bucle por lo menos se realiza una vez, la estructura sería la siguiente:
Do
instrucciones
x=x+1
Loop While cells (x,1) = empty
En este caso se ingresa al bucle, se realiza una vez y se analiza la condición si es verdadera sigue, hasta que se haga falsa, en este caso se hará falsa cuando llegue a la última fila con datos, cada vez que el bucle realice un recorrido, en este ejemplo a la variable «x» se le suma uno, lo que representa que en el recorrido siguiente del bucle debe analizar la fila posterior y así sucesivamente hasta la última fila con datos, donde se analizará la condición y será falsa, por ende el bucle terminará.
En el ejemplo que se presenta, usa la instrucción Do … Loop While, la macro permite sumar todas las celdas de un mismo color o lo que es lo mismo muestra como sumar celdas dependiendo de su color, verás como se usa la instrucción Do… Loop While para recorrer de la primera a la última fila con datos, a través de la instrucción If Then Else End If, se determinar el color de la celda y se suma en caso de corresponder, cuando el bucle llega al final, analiza si la celda que sigue es menor a la última celda con datos, en caso verdadero sigue en caso falso termina el bucle.
Desde el link del final se puede descargar cientos de macros que puedes adaptar a tu proyecto, su uso es libre, si te fueron de utilidad considera la posibilidad de invitarme una tasa de café para seguir subiendo cosas útiles.
Suscribe a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlas, buscar en listbox mientras escribes en textbox, ordenar hojas libro excel por su nombre, conectar Excel con Access y muchos ejemplos más.
Código que se inserta en un módulo
Application.ScreenUpdating = False
Dim conta1 As Integer, conta2 As Integer
c1 = Range(«C2»).Interior.Color
c2 = Range(«C3»).Interior.Color
pf = 2
uf = Range(«C» & Rows.Count).End(xlUp).Row
conta1 = 0
conta2 = 0
Do
If Cells(pf, «C»).Interior.Color = 255 Then conta1 = conta1 + Cells(pf, «D»).Value
If Cells(pf, «C»).Interior.Color = 15773696 Then conta2 = conta2 + Cells(pf, «D»).Value
pf = pf + 1
Loop While pf <= uf
Range(«D16») = conta1
Range(«D17») = conta2
Application.ScreenUpdating = True
End Sub
Sub borraformato()
Application.ScreenUpdating = False
Range(«D16:D17»).Clear
Application.ScreenUpdating = True
End Sub
.
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