Función que calcula fecha y hora final, marca error
Para "Dante Amor"
La formula que estoy ejecutando en excel es:
=SI((RESIDUO(H20/((H3-H2)*24),1)*(H3-H2)+VALOR.NUMERO(DECIMAL(RESIDUO(H5,1),8)))>=H3,DIA.LAB(DIA.LAB(H5,ENTERO(H20/((H3-H2)*24)),H9:H10),1,H9:H10)+H2-H3,DIA.LAB(H5,ENTERO(H20/((H3-H2)*24)),H9:H10))+RESIDUO(H20/((H3-H2)*24),1)*(H3-H2)+RESIDUO(H5,1)
Dentro de excel esta funcionando correctamente las variables son:
H2 - Es la hora inicial de un turno de trabajo; 08:00:00
H3 - Es la hora final de un turno de trabajo; 20:00:00
H5 - Representa la hora de una fecha especifica; 29/09/2015 11:35:15
H20 - Representa el tiempo que tardaré en dar solución al problema en horas; 35
H9:H10 - Un rango variable que representa los días de vacaciones en un rango en formato de fecha
Siguiendo tus ejemplos de las otras funciones realice la función correspondiente de la siguiente manera:
Function CalculaFecha2(hini As Range, hfin As Range, fini As Range, hora As Range, rvac As Range)
'Por.Dante Amor
h2 = hini.Address
h3 = hfin.Address
h5 = fini.Address
hr = hora.Address
br = rvac.Address
rdo = Evaluate("=IF((" Mod (" & hr & " / ((" & h3 & " - " & h2 & ") * 24)), 1) * (" & h3 & " - " & h2 & ") + " & _
"NUMBERVALUE(FIXED(MOD("& h5 & ",1),8)))>= " & h3 ", " & _
"WORKDAY(WORKDAY(" & h5 & "," & _
"INT(" & hr & "/((" & h3 & "-" & h2 & ")*24))," & br & "),1," & br & ")+" & h2 & "-" & h3 & ", " & _
"WORKDAY(" & h5 & ", "INT(" & hr & "/((" & h3 & "-" & h2 & ")*24))," & br & "))+" & _
"INT(" & hr & "/((" & h3 & "-" & h2 & "))*24),1)*(" & h3 & " - " & h2 & ")+" & _
"MOD(" & h5 & ",1)
CalculaFecha2 = rdo
End Function
Pero desde el editor de VBA me pone en rojo el codigo a partir de NUMBERVALUE y no logro identificar el código incorrecto.
Que función cumple FIXED saludos! - Adriel Ortiz Mangia
Es la función Decimal( ), redondea un número al número especificado de decimales. El resultado lo regresa como texto. - Dante Amor