Sumar horas

Te cuento estoy realizando un control de tarjeta, donde se ingresa la hora de entrada y hora de salida por día, resto ambas horas y obtengo total hora trabaja por día
Textsal2.Value = Format(Textsal2, "h:mm:ss")
valor1 = CDate(Texten2) - CDate(Textsal2)
lblth2 = Format(valor1, "hh:mm")
Entonces mi primera duda es como al total le puede restar 30 minutos de colación, lo he efectuado a través de hoja de calculo utilizando una celda auxiliar pero trabajando en formulario no he podido lograrlo.
La segunda consulta se refiere a como obtener suma de horas por semana, ¿realmente mi problema radica en como identificar la fecha del termino de semana?

1 Respuesta

Respuesta
1
1)
valor1 = cdate(texten2)-cdate(textsal2) - TimeSerial (0,30,0)
2)
Para identificar cada semana, podes usar la función Residuo (en Excel) o Mod (en VBA), de esta forma día = (Fecha Mod 7)
Y los valores de día son
0 = sábado
1 = domingo
...
Digite las siguientes instrucciones, donde la fecha Se encuentra en una etiqueta para efectuar el mod
Dim dia As Integer
dia = Val(lblf1) Mod 7
lblsalida = dia // me muestra siempre 1.
-------------------------------------------
y al restar los 30 minutos, los agrega en vez de disminuir.
Dim valor1, valor2 As String
Textsal2.Value = Format(Textsal2, "h:mm:ss")
valor1 = TimeSerial(0, 30, 0) - (CDate(Texten2) - CDate(Textsal2))
lblth2 = Format(valor1, "hh:mm")
Lo de los 30 minutos fíjate que "diste vuelta" mi instrucción por lo que el TimeSerial lo tenés en positivo (y yo te lo puse negativo)
Respecto a la primera parte, te pido que me digas que los distintos valores de lblf1, de hecho tus dos instrucciones las podes juntar en 1 sola
lblSalida = (Val(lblf1) Mod 7)
lblsalida es una etiqueta que definí en el formulario para ver el resultado
Ingreso cualquier fecha y obtengo 1 por ejemplo 1/10/2008. La fecha la obtengo a través del mes ingresado y se genera en las etiquetas correspondientes.
lblf1 = CDate("01/" & Cmdmes.Text & "/" & Year(Now))
lblsalida = (Val(lblf1) Mod 7)
- digite la instucción en el orden
valor1 = cdate(texten2)-cdate(textsal2) - TimeSerial (0,30,0) e ingreso 9:00 y 18:00 entrega  9:30, no efectua la resta.
Me resulto, faltaba colocar el signo menos.
valor1 = (CDate(Texten1) - CDate(Textsal1)) - (-TimeSerial(0, 30, 0))
Gracias.
¿Ok
este tema no lo seguíamos en otro hilo?
Si es cierto, en como lograr la suma de horas por semana de lunes a sábado. ¿Ejecute el código lblsalida = (Val(lblf1) Mod 7) para el día 01/01/2008 y aparece un 1 que significa ese 1 el día de la semana?
En realidad es el residuo entre la fecha y 7, por comparación tendrías el día de semana sabiendo que
Domingo = 1
Lunes = 2
Martes = 3
...
Sábado = 7 (que al aplicar residuo te queda 0)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas