buenas noches
he preparado una macro para que al poner horas en las celdas de la hoja de datos no tenga necesidad de poner los dos puntos y me funciona perfectamente, es decir si pongo 1240 automaticamente lo convierte en 12:40. el problema es cuando tengo que poner horas de un solo digito es decir la1,2,3,4,5,6,7,8,9, me la convierte por ejemplo si pongo las 9:00 la convierte en 18:00 y si pongo la 1:00 la convierte en 10:00 y asi. Adjunto la hoja para ver si podeis ayudarme a encontrar el error pq yo lo doy por perdido ya.
un saludo
gracias
Utiliza la función LEN para saber la longitud de lo que hayas escrito en la celda
Según la longitud haces una cosa u otra
------
Ya sé Excel, pero necesito más.
buenos dias Paco, he utilizado LEN y funciona muy bien.
el problema que tengo ahora es que no puedo sumar las horas mensuales pq el resultado no es correcto, ya no se si es po la macro o por las formulas que hay puestas en las celdas de donde vienen los datos a sumar. podrias echarle un vistazo?
te lo agradeceria un monton, ya que estoy atrancada en este tema y no cosigo dar con la solucion.
Sí está sumando, lo que ocurre es que donde sólo son visibles unas horas en realidad también hay un día de más
en tu fórmula donde calculas las horas tienes un +1 que añade un día a tu resultado
=SI(D9=0;" ";(E9-D9)+(G9-F9)+1)
Excel guarda las fechas como un número en el que la parte entera es la fecha (los días) y la parte decimal es la hora
En tu caso ves 9:00 pero internamente tienes un valor de 1 día y 9 horas, es decir 33 horas
Si aplico un formato de número a tus horas mira lo que aparece, la mayoría de los valores son superiores a 1, es decir, tienen 24 horas más de las que parece.
Algunas ideas para evitar esto:
Puedes rehacer la fórmula que calcula las horas para que dé como resultado el número de horas correcto sin ese día de más. cmpara si la hora de inicio es posterior a la de finalización, eso quiere decir que empieza un día y termina otro (turno de noche), aquí sí que habría que añadir 1 a la hora de fin para que considere que es del día siguiente.
Puedes por ejemplo utilizar la función ENTERO para saber cuál es la parte entera de tu número (restando al número la parte entera de ese número te quedará sólo la parte decimal, que son las horas)
Puedes por ejemplo comparar si tu número es o no mayor que uno (supongo que no habrá jornadas de trabajo de más de 24 horas)
------
Ya sé Excel, pero necesito más.