Programación General > VBA

 Obtener Dia Anterior Y Nombre Del Dia

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa