Luis Muchas Gracias por tu respuesta, sí conozco la formula DiasLab, pero realmente necesitaba calcular en un textbox automáticamente una fecha final al introducir en otros textbox el numero de días hábiles y la fecha de inicio.
Adjunto el código que me sirvió. Gracias a un Experto Javier, la cual es una función.
1. Copiamos este código a un modulo:
Function SumarDias(Optional Fecha As Variant = "", _
Optional Días As Integer = 2, _
Optional Festivos As Boolean = True, _
Optional Sábados As Boolean = True, _
Optional Domingos As Boolean = True) As Date
On Error Resume Next
SumarDias = Date
If Fecha = "" Then Fecha = Date
If IsDate(Fecha) = False Then Exit Function
If Días < 1 Then Exit Function
SumarDias = Fecha
For POR = 1 To Días - 1
Día = DatePart("w", SumarDias)
Set Festivo = Sheets("Festivos").Cells.Find(what:=SumarDias)
If (Día = 7 And Sábados = True) Or _
(Día = 1 And Domingos = True) Then
POR = POR - 1
ElseIf Not Festivo Is Nothing Then
If Festivo = SumarDias And Festivos = True Then
POR = POR - 1
End If
End If
Y = Y + 1
SumarDias = SumarDias + 1
Next POR
Día = DatePart("w", SumarDias)
If (Día = 1 And Domingos = True) Then SumarDias = SumarDias + 1
If (Día = 7 And Sábados = True) Then SumarDias = SumarDias + 2
Bucle:
Set Festivo = Sheets("Festivos").Cells.Find(what:=SumarDias)
If Not Festivo Is Nothing Then
SumarDias = SumarDias + 1
GoTo Bucle
End If
End Function
2. Copiamos este código en el botón o donde vamos a mandar los valores de las variables.
Yo en este caso lo puse para que calcule cuando salga de ingresar un valor en el combobox.
Private Sub ComboBox14_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Declaras nuevamente las variables.
Dim Fecha As Variant
Dim Días As Integer
Dim Sábados As Boolean
Dim Domingos As Boolean
Dim Festivos As Boolean
Fecha = CDate(TextBox18)
Días = CInt(TextBox22)
'después asigno a el txbox el valor llamndo la función y enviándole laslos valores capturados.
TextBox23 = SumarDias(Fecha, Días, True, True, True)
End Sub
Espero que les sirva, muchas gracias.
Como aplicar este código en Access, porque intente hacerlo y me genera errores, gracias - Alejandro Peña
Hola Luis , me podrias ayudar un poco ya que soy un poco nuevo en este mundo de macro este ejemplo me interesa mucho pero me deja dudas de como realizarlo , si lo hago en un formulario vba o en una hoja de calculo , si podrias enviar una imagen de como los haz realizado te lo agradeceria , o alguna duda de como hacerlos , gracias espero tu respuest - victor alfredo retamar