Este es un ejemplo que te dice cuantas horas semanales trabajaste normales, extras, festivas, totales...
Lo pidio "jose28bnc" y se lo desarrolle por que me gusto la idea y para sumar puntos para que me hagan moderador ;)
Lo que el necesitaba era lo siguiente:
Cita:
Iniciado por jose28bnc hola culd, te explico mejor, tengo siete texbox para cada dia de la semana, luego tengo cuatro mas, uno con las horas totales de toda la semana, otro con las horas extras de toda la semana, otro con las hora normales de toda la semana y otro con las horas festivas de toda la semana.
Lo que trato de hacer es lo siguiente, si el lunes trabajo 12 horas, en el textbox de horas extras me tienen que aparecer todas las horas que pasen de 8 en este caso serian 4, en el textbox de las horas normales me tendrian que salir las horas normales que en este caso son ocho, en el de textbox festivas ninguna por que el lunes no es festivo, y en el textbox totales todas las horas que he trabajado en este caso 12. y asi con todos los dias de la semana, en los texbox de totales se van sumando todos los dias en el de horas normales todas las horas de la semana, y asi en los demas.
El ejemplo que desarrolle se pone en un proyecto nuevo y listo.
Código:
'--------------- EJEMPLO PROGRAMADO POR CULD PARA jos28bcn ------------------
'Y para todo ForosDelWeb
'Disfrutenlo ;)
'----------------------------------------------------------------------------
Private Sub Form_Load()
On Error Resume Next
Dim Dia(1 To 7) As Long
Dim Totales(1 To 4) As Long
'Totales(1) = HORAS NORMALES
'Totales(2) = HORAS EXTRAS
'Totales(3) = HORAS FESTIVAS
'Totales(4) = TODAS LAS HORAS
Dim HorasDiarias As Long
Dim X As Integer
HorasDiarias = CLng(InputBox("Por favor, ingrese cuantas horas diarias usted trabaja", "Programado por CULD"))
'----- Primero le pido las cantidades de horas que trabajo cada dia -----
For X = 1 To 7
Dia(X) = CLng(InputBox("Ingrese la Cantidad de Horas que Trabajo el dia: " & WeekdayName(X, False, vbMonday), "Programado por CULD"))
Next X
'----- Calculo los Totales -----
For X = 1 To 7
If X <= 5 Then
If Dia(X) > HorasDiarias Then 'Verifico que sea dia entre semana
Totales(1) = Totales(1) + HorasDiarias 'Sumo las horas normales
Totales(2) = Totales(2) + (Dia(X) - HorasDiarias) 'Como paso el limite va a extras
Totales(4) = Totales(4) + Dia(X) 'Sumo el total de todo
Else
Totales(1) = Totales(1) + Dia(X) 'Sumo las horas que trabajo normales
Totales(4) = Totales(4) + Dia(X) 'Sumo el total de todo
End If
Else 'Fin se semana seria festivo
If Dia(X) > HorasDiarias Then
Totales(3) = Totales(3) + HorasDiarias
Totales(2) = Totales(2) + (Dia(X) - HorasDiarias)
Totales(4) = Totales(4) + Dia(X)
Else
Totales(3) = Totales(3) + Dia(X)
Totales(4) = Totales(4) + Dia(X)
End If
End If
Next X
MsgBox "*-*-*-*-*-*-* RESULTADOS *-*-*-*-*-*-*" & vbNewLine & _
"Total Horas Normales: " & Totales(1) & vbNewLine & _
"Total Horas Extras: " & Totales(2) & vbNewLine & _
"Total Horas Festivas: " & Totales(3) & vbNewLine & _
"Total Horas TODO: " & Totales(4) & vbNewLine, vbExclamation, "Programado por CULD"
End
End Sub