UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO Fechas Fecha el 08/09/15, 09:44 am

djnilo


buenos dias amigos del foro
quisiera pedir su ayuda si me puede
tengo un calendarios que contiene sabados y domingos y festivos
estan marcados con lestrs s,d,f
por ejemplo tengo este mes de septiembre donde 01-09-2015 al 30-09-2015
ejmplo mi proyecto parte el 25-09-2015 y necesito restar 10 dias pero dias habiles
es decir que no tome sabados y domingos , feriados
ese el problema como logro restar los dias sin que tome sabados y domingos feriados
segun este calendario  en una macro
Archivos
fechasresta.xlsx
macro
No tienes los permisos para descargar los archivos.
(14 KB)

2RESUELTO Re: Fechas Fecha el 08/09/15, 01:01 pm

adolfo castro


Hola buenas tardes, revisa la siguiente función, y comentas algo, pero primero de todo es estudiar un poquito.

La función DIAS.LAB.INTL en Excel
saludos Adolfo castro

3RESUELTO adolfo castro el 08/09/15, 02:08 pm

djnilo


gracias por responder pero esa funcion no sirve para mi proposito de estudiar estudio todos los dias es mi trabajo dar soluciones necesito hacerla en una macro

4RESUELTO adolfo castro el 08/09/15, 02:11 pm

djnilo


a y la funcion es 
=DIAS.LAB.INTL(B41;B42) no me sirve gracias
Fecha Inicial01-09-2015
Fecha Final30-09-2015
dias Habiles 22

5RESUELTO Re: Fechas Fecha el 08/09/15, 04:01 pm

Igtelo


Hola djnilo / Adolfo.

No hay función directa que te de lo que requieres, necesitas crear una tabla anual con los días feriados, cada país y Estado o Departamento también tiene sus propios días feriados, dependiendo tus necesidades hay que crear esa tabla, ya con ello puedes utilizar fórmulas o hacer la macro.

Saludos
Ignacio Téllez
P.d: Para próximas preguntas escribe un título acorde y no como el que pusiste.
Por favor lee lo que está en avisos.

6RESUELTO Re: Fechas Fecha el 08/09/15, 07:15 pm

adolfo castro


Hola buenas noches, a ver si esto te orienta un poco, esta rebuscado, pero es cuestión de acoplarla a lo que precisas..

Function DiasLabMejorada(fecha_inicial As Date, _
                            fecha_final As Date, _
                            diasExcluidos As Range, _
                            Optional feriados As Range)
                            
'JLD Excel blog en Castellano
'Desarrollada por Jorge Dunkelman
'Junio 2009

    Dim daysCounter As Long, tmpDays As Date, dateCheck
    
    tmpDays = fecha_inicial + 1
    daysCounter = 0
    
    On Error GoTo ErrorHandler
    
    If feriados Is Nothing Then
    Do While tmpDays < fecha_final
        dateCheck = " "
        dateCheck = WorksheetFunction.Match(Weekday(tmpDays, vbMonday), diasExcluidos, 0)
        If Not IsNumeric(dateCheck) Then
            daysCounter = daysCounter + 1
        End If
        tmpDays = tmpDays + 1
    Loop
    
    Else
    
    Do While tmpDays < fecha_final
    dateCheck = " "
    dateCheck = WorksheetFunction.Match(CLng(tmpDays), feriados, 0)
    If Not IsNumeric(dateCheck) Then
        dateCheck = " "
        dateCheck = WorksheetFunction.Match(Weekday(tmpDays, vbMonday), diasExcluidos, 0)
        If Not IsNumeric(dateCheck) Then
            daysCounter = daysCounter + 1
        End If
    End If
        tmpDays = tmpDays + 1
    Loop
    End If
    
    DiasLabMejorada = daysCounter
    
   Exit Function
  
ErrorHandler:
dateCheck = "A"
Resume Next

    
End Function
 

7RESUELTO Re: Fechas Fecha el 08/09/15, 07:38 pm

adolfo castro


te adjunto otra parte del archivo como imagen
Archivos
diaslab06.zip
No tienes los permisos para descargar los archivos.
(63 KB)

8RESUELTO Fecha resta Solucionado el 09/09/15, 09:06 am

djnilo


[ltr]Muchas gracias por resonder Adolfo Castro esta es mi solucionado
Function InicioProyecto(ByVal Celda As Range) As Date
fecha = CDate(Celda)
Do Until días = 10
fecha = fecha - 1
Set día = Rows(4).Find(fecha)
If Not día Is Nothing Then
If Not Celda.Offset(1, 0) = "F" And _
Not Celda.Offset(1, 0) = "S" And _
Not Celda.Offset(1, 0) = "D" Then
días = días + 1
End If
Else
w = Weekday(fecha, vbMonday)
If Not w = 6 And Not w = 7 Then días = días + 1
End If
Loop
InicioProyecto = fecha
MsgBox (fecha)
End Function


soluccion Macro Antonio[/ltr]

9RESUELTO Re: Fechas Fecha el 09/09/15, 11:46 am

adolfo castro


Buenas tardes, y perdona quizás por mi forma de contestar, pero hay veces en las que no me puedo parar para hacer ciertas cosas , en primer lugar por el tiempo que precisa y en la actualidad estoy intentando terminar un trabajo y ello me hace perder un tiempo precioso, pero si mas o menos orientar . Al final con mas o menos trabajo todo tiene solución. gracias a ti porque asi tenemos un aporte para futuras necesidades.

saludos Adolfo castro

10RESUELTO Re: Fechas Fecha el 09/09/15, 11:56 am

djnilo


no hay problema acepto tus disculpas  gracias  :idea:
adolfo castro

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.