Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

DO LOOP en VBA aplicado al cálculo del porcentaje de proveedores homologados

| 1 comentario

A los proveedores de transporte se les exige muchas veces estar homologados, lo cual consiste en tener una certificación por parte de empresas especializadas (homologadoras) de que sus procesos y servicios cumplen con ciertos estándares de calidad.  Esta certificación se obtiene mediante una calificación que va de 0 a 100 y la nota mínima para estar considerado un buen proveedor es definida por el cliente que contrata al proveedor. Muchas empresas que requieren transportas sus productos sólo trabajan con proveedores homologados o les dan preferencia sobre las mejores rutas. Cuando una empresa maneja varios proveedores de transporte, es necesario manejar el indicador del porcentaje de proveedores homologados, ya que lo ideal sería que todos lo estén pero hay plazos de implementación para estas políticas.

Cuando una empresa maneja con varios proveedores de transporte, éstos entran y salen de servicio con cierta frecuencia por lo cual el número de registros en la base de datos varía. Es necesario calcular el porcentaje con la cantidad de proveedores actualizada en cada momento.

El código es el siguiente:

Sub porc_homolog()

Dim aprobados As Integer, fila As Integer

aprobados = 0
fila = 2

Do While Cells(fila, 2) <> ""
If Cells(fila, 2).Value > 75 Then
aprobados = aprobados + 1
End If
fila = fila + 1
Loop
porcentaje = aprobados / (fila - 1)
'se le resta 1 a la fila porque su valor inicial es 2
Cells(1, 4).Value = porcentaje
End Sub

 

Ejemplo:

Se requiere calcular el porcentaje de proveedores homologados en la siguiente tabla, dado que la nota aprobatoria es 76:

excel

(Para mayor visualización de la imagen, hacer click en la misma)

Al ejecutar la macros se obtiene el valor deseado, que en este caso es 20%. De los 4 sólo uno tiene una nota aprobatoria.

resultado 1

(Para mayor visualización de la imagen, hacer click en la misma)

Ahora imaginemos que ingresa un nuevo proveedor, entonces la lista de proveedores se actualiza y ya no son 4 sino 5 proveedores.

excel 2

(Para mayor visualización de la imagen, hacer click en la misma)

Se calcula nuevamente el porcentaje de proveedores homologados corriendo la macros:

resultado 2

(Para mayor visualización de la imagen, hacer click en la misma)

Como se ve, el código calcula el nuevo porcentaje tomando en cuenta el nuevo proveedor. Así el cálculo del indicador no depende de la cantidad de registros y se puede obtener el porcentaje con cualquier número de proveedores corriendo la misma macros.

Archivo Excel: do_loop

Christian Haro Alvarado

Un comentario

  1. Alguien me puede ayudar con el siguiente codigo de VBA, quiere que reste y no que sume, cualquiera respuesta me la pueden hacer llegar a mi correo omar.fuentesh10@gmail.com, si le cambio el signo a menos (-), sigue sumando con el signo de menos y no me funnciona quiere que me reste el val de textbox 11 y val de textbox12 y me ponga el resultado en el textbox13. gracias

    For i = 11 To 12
    Sum = Sum + Val(Me("Textbox" & i))
    Next i
    Me.TextBox13.Value = Sum

Deja una respuesta

Los campos requeridos estan marcados con *.