Buscando funcion de Chea..... |
Responder |
Autor | |
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Tema: Buscando funcion de Chea..... Enviado: 01/Septiembre/2019 a las 15:38 |
Estoy buscando una funcion en particular de Chea, llamada creo DiasHabiles.
He encontrado varias versiones de esta, pero la que tiene encuenta o no los sabados(true o false) no la encuentro, y los enlaces que encuentro estan caidos. A ve si alguno la tiene por hay..... Saludos
|
|
pitxiku
Colaborador Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1510 |
Enviado: 01/Septiembre/2019 a las 16:29 |
A ver si este hilo te sirve de guía: - https://microsoft.public.es.access.narkive.com/Me8b8ije/formula-para-calculo-de-dias-habiles Pero si la función tiene en cuenta los domingos, se puede alterar para que también tenga en cuenta los sábados (o no).
Editado por pitxiku - 01/Septiembre/2019 a las 16:29 |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 01/Septiembre/2019 a las 17:26 |
Creo que ya he andado por todos los hilos de todas la web sobre este tema jijijiji, en particular es la que pones he intentado modificarla para que de una forma facil me permita incluir en la cuenta los sabado o no, con un bolean como parámetro de la funcion por ejemplo, pero no lo logro....
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 01/Septiembre/2019 a las 17:48 |
Entonces, según relatas, si en vez de buscar te hubieras puesto ya la tendrías hecha.
¿Y si la hacemos?
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 01/Septiembre/2019 a las 19:08 |
La funcion que utilizo ahora es esta y funciona correctamente. Esta sacada de aqui y modificada.
A la fecha dada le suma x dias y calcula el siguiente dia habil quitando sabados, domingos y festivos de una tabla. Lo que pretendo es, de una forma facil metiante otro parametro boleano en la funcion que el sabado sea festivo o no.....
Public Function SiguienteDiaHabil2(dFecha As Date, Dias As Integer) As Date 'Le pasamos la fecha y los dias que queremos sumarle Dim dIntermedio As Date, iCuenta As Integer 'Sumamos fecha mas dias Dim varFechaMasDias As Date varFechaMasDias = dFecha + Dias 'MsgBox varFechaMasDias 'dIntermedio = DateAdd("d", 1, dFecha) dIntermedio = DateAdd("d", 1, varFechaMasDias) 'Le pasamos la fecha mas dias y empieza el calculo 'MsgBox dIntermedio iCuenta = DCount("DiaCerrado", "tbDiaCerrado", "DiaCerrado=#" & Format(dIntermedio, "mm/dd/yyyy") & "#") If Weekday(dIntermedio, vbMonday) = 6 Or Weekday(dIntermedio, vbMonday) = 7 Then dIntermedio = SiguienteDiaHabil(dIntermedio, 0) 'Ponemos 0 ya que los dias se los hemos pasado y sumado anteriormente ElseIf iCuenta > 0 Then dIntermedio = SiguienteDiaHabil(dIntermedio, 0) 'Ponemos 0 ya que los dias se los hemos pasado y sumado anteriormente End If SiguienteDiaHabil2 = dIntermedio '+++++++++++++++++++++ 'MsgBox SiguienteDiaHabil Me.FechaLimiteDevolucion = SiguienteDiaHabil2 End Function Actualizado, tenia un fallo la funcion faltaba , 0) 'Ponemos 0 ya que los dias se los hemos pasado y sumado anteriormente Editado por rokoko - 01/Septiembre/2019 a las 20:48 |
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 01/Septiembre/2019 a las 19:32 |
Y si almacena los días hábiles en una tablita?
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 01/Septiembre/2019 a las 19:37 |
Con que objetivo?? Todos años habria que cambiar esos dias, de la otra forma, son unos pocos festivos al año que la mayoria se repetiarian e excepcion de semana santa en España.... Saludos
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 01/Septiembre/2019 a las 20:14 |
Quise decir,los festivos. Que lógica estas utilizando para saber cuando un sábado es festivo?
|
|
pitxiku
Colaborador Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1510 |
Enviado: 01/Septiembre/2019 a las 20:39 |
Más o menos (escrito aquí directamente, ahí que puede haber fallos):
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 01/Septiembre/2019 a las 20:52 |
Pues en este caso ese sabado deberia ir en la tabla de festivos, si consideramos el sabado laborable en la funcion.
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 01/Septiembre/2019 a las 22:03 |
Pitxiku, la he probado un poco y parece que funciona correctamente, la probare mas detalladamente y a ver si la adapto lo de sumarle X Dias.
Edito: Y asi parece que tambien, sumandole x dias, por ejemplo seria util para sacar la fecha de devolucion de un libro de una biblioteca si se dan x dias para el alquiler Public Function SiguienteDiaHabil(dFecha As Date, Dias As Integer, ContarSabados As Boolean) As Date Dim dIntermedio As Date, iCuenta As Integer 'Sumamos fecha mas dias Dim varFechaMasDias As Date varFechaMasDias = dFecha + Dias 'MsgBox varFechaMasDias dIntermedio = DateAdd("d", 1, varFechaMasDias) iCuenta = DCount("DiaCerrado", "tbDiaCerrado", "DiaCerrado=#" & Format(dIntermedio, "mm/dd/yyyy") & "#") If ContarSabados And (Weekday(dIntermedio, vbMonday) = 6) Then dIntermedio = SiguienteDiaHabil(dIntermedio, 0, ContarSabados) 'Ponemos 0 ya que antes ya le hemos sumado los dias ElseIf Weekday(dIntermedio, vbMonday) = 7 Then dIntermedio = SiguienteDiaHabil(dIntermedio, 0, ContarSabados) ElseIf iCuenta > 0 Then dIntermedio = SiguienteDiaHabil(dIntermedio, 0, ContarSabados) End If SiguienteDiaHabil = dIntermedio Me.FechaLimiteDevolucion = SiguienteDiaHabil Editado por rokoko - 01/Septiembre/2019 a las 22:10 |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 02/Septiembre/2019 a las 09:49 |
Se puede cerrar. Muchas gracias a todos. Saludos
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |