Excel Avanzado

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

Excel Avanzado

FOR en VBA para el control de tiempos en la tercerización de Servicios

| Sin comentarios

Muchas empresas tercerizan parte de sus servicios para ahorrar recursos y optimizar procesos. Por lo general, la empresa a la cual se le asigna el servicio suele contar con know-How que les permite realizar las actividades de forma más eficiente que si lo hiciera el contratante.

En el contrato de  tercerización de servicios se suele incluir penalidades, las cuales serán cobradas al proveedor si este realiza un servicio ineficiente.

 

Ejemplo Práctico

La macro  se basa en un servicio de “Revisión de Contratos: Firma y Huella”.  Para esto se han establecido ciertas reglas:

Tiempo máximo de revisión del contrato: 5 días calendario

Pasado este tiempo se cobra penalidad

 

Creación del Userform 1 [Botón “Días Demora”]

Lo que se busca aquí es calcular el tiempo de demora en la revisión. Para eso se deben existir 02 campos “F. Presentación” y “F. Revisión”:

Días Demora

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

Private Sub CommandButton1_Click()
ult = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To ult
Cells(x, 5).Value = Cells(x, 4).Value - Cells(x, 3).Value
Next
End Sub

 

Creación del Userform 2 [Botón “¿Se Penaliza?”]

Indica en qué casos se deberá aplicar la penalidad, se basa en el campo: “Días demora”:

Aplica Penalidad

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

Private Sub CommandButton2_Click()
ult = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To ult
If Cells(x, 5).Value > 5 Then
Cells(x, 6).Value = "SI"
Else
Cells(x, 6).Value = "NO"
End If
Next
End Sub

Descargar ejemplo de FOR en VBA

Deja una respuesta

Los campos requeridos estan marcados con *.