Hola chicos, hace algunos días tuve la necesidad de validar si una fecha
era hábil o no en un formulario de Excel (programado en Visual Basic
for aplications) entiéndase como día hábil los que están comprendidos
entre el Lunes y Viernes.
Pues bien, luego de buscar más allá de la segunda página de resultados de Google y no encontrar algo que apoyara mi objetivo me decidí a programarlo y estos son los pasos para lograrlo:
1-Crea la interfaz grafica del formulario.
Desde la pestaña Programador en Microsoft Excel podrás acceder al gestor de Visual Basic, para este ejemplo utilizaremos un campo de texto y un botón:
Pues bien, luego de buscar más allá de la segunda página de resultados de Google y no encontrar algo que apoyara mi objetivo me decidí a programarlo y estos son los pasos para lograrlo:
1-Crea la interfaz grafica del formulario.
Desde la pestaña Programador en Microsoft Excel podrás acceder al gestor de Visual Basic, para este ejemplo utilizaremos un campo de texto y un botón:
2- Antes de continuar guarda el libro para que se encuentre habilitado para macros:
3- Definir las variables que vamos a utilizar dentro del evento de acción del botón:
Dim fechaReg As Date
Dim DiaSemanaFecha As Integer
Dim fechaTemporal As Date
4- Convertir el valor ingresado en el campo de texto en format fecha, se utiliza la función “DateValue” :
fechaReg = DateValue(fecha.Text)
5- La función “Weekday” nos devolverá un valor numérico de 1 a 7 del dia de la semana que corresponde la fecha, inicia en el domingo y finaliza el Sábado respectivamente. Utilizaremos dicha funciona junto a un condicional “Si” para identificar si nuestra fecha es hábil o no:
DiaSemanaFecha = Weekday(fechaReg)
If DiaSemanaFecha <> 1 And DiaSemanaFecha <> 7 Then 'Valida que la fecha este entre Lunes y Viernes
fechaReg = fechaTemporal
MsgBox "La Fecha es un dia habil"
Else
MsgBox "La Fecha NO es un dia habil"
End If
6- Te dejo el código completo:
Private Sub CommandButton1_Click()
Dim fechaReg As Date
Dim DiaSemanaFecha As Integer
fechaReg = DateValue(fecha.Text)
DiaSemanaFecha = Weekday(fechaReg)
If DiaSemanaFecha <> 1 And DiaSemanaFecha <> 7 Then 'Valida que la fecha este entre Lunes y Viernes
fechaReg = fechaTemporal
MsgBox "La Fecha es un dia habil"
Else
MsgBox "La Fecha NO es un dia habil"
End If
End Sub
7- Resultado:
No hay comentarios.:
Publicar un comentario
Deja tus comentarios,dudas,pedidos o lo que sea que necesites :D por favor.