Programación General > VBA
Obtener Dia Anterior Y Nombre Del Dia
Martillo:
Hola a todos:
Necesito saber si existe la forma de hacer una funcion que me retorne el dia anterior que correponde por fecha y su dia de la semana, por ejemplo:
funcion_dia_anterior(01-02-2007)
y que retorne el dia anterior que seria el 31-1-2007 y que diga que es miercoles, alguien sabe como atacar este problema o por lo menos una parte de el, por favor seria de mucha ayuda, saludos.
:kicking:
ArKaNtOs:
realmente la logica de la función es simple primero validas si la fecha que recibes es valida, después puedes ingresar ese valor a un dtpicker y que te diga el dia de la semana que es :D
mamex:
Aki tienes un ejemplo usando unas funciones mías:
--- Código: Text --- Private Sub cmdCalcular_Click() MsgBox FechaEnTexto(CDate(txtFecha.Text) - 1)End Sub Public Function FechaEnTexto(fecha As String) As String FechaEnTexto = Day(fecha) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)End Function Public Function NombreMes(mes As Integer) As String Select Case mes Case 1 NombreMes = "Enero" Case 2 NombreMes = "Febrero" Case 3 NombreMes = "Marzo" Case 4 NombreMes = "Abril" Case 5 NombreMes = "Mayo" Case 6 NombreMes = "Junio" Case 7 NombreMes = "Julio" Case 8 NombreMes = "Agosto" Case 9 NombreMes = "Septiembre" Case 10 NombreMes = "Octubre" Case 11 NombreMes = "Noviembre" Case 12 NombreMes = "Diciembre" End SelectEnd Function Public Function NombreDia(dia As Integer) As String Select Case dia Case 1 NombreDia = "Lunes" Case 2 NombreDia = "Martes" Case 3 NombreDia = "Miercoles" Case 4 NombreDia = "Jueves" Case 5 NombreDia = "Viernes" Case 6 NombreDia = "Sabado" Case 7 NombreDia = "Domingo" End SelectEnd Function
Cualquier duda, pues escribe de nuevo. Saludos
Mollense:
--- Citar ---Public Function FechaEnTexto(fecha As String) As String
FechaEnTexto = Day(fecha) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
End Function
--- Fin de la cita ---
¿y cuando haces uso de NombreDia(dia As Integer)?
¿Quisiste poner esto?
--- Código: Text ---Public Function FechaEnTexto(fecha As String) As String FechaEnTexto = NombreDia(Day(fecha)) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)End Function Si es así, ¿Que rango de valores arroja Day(fecha)? Es que no lo recuerdo y no tengo instalado VB.-
Saludos :beer:
mamex:
Jejeje, en realidad no lo ocupé, pero me di cuenta después k lo puse. La función nombre día, le mandas el número del dia: lunes 1, martes 2, miercoles 3.
Pero lo que hace la función Day() es darme el número de la fecha, (ej. 23). Así que no sirve para obtener directamente que dia de la semana es, para eso necesito usar la función weekDay()
Pero bueno, pido disculpas por mi equivocación, y aqui está la funcion que debes modificar:
--- Código: Text --- Public Function FechaEnTexto(fecha As String) As String FechaEnTexto = NombreDia(Weekday(fecha, vbMonday)) & " " & Day(fecha) & _ " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)End Function
Navegación
[#] Página Siguiente
Ir a la versión completa