En campo fecha mostrar la semana completa, ejemplo: lunes 24/04 a domingo 30/04

A todos/as! Tengo un formulario que es una especie de calendario laboral, y quisiera saber cómo podría hacer para que al agregar un registro nuevo, en función de la fecha del día que se abra el formulario o se agregue un registro nuevo, me muestre en un control la semana completa, Por ejemplo: "lunes 24/04/2017 a domingo 30/04/2017".

1 respuesta

Respuesta
1

Supongamos que quieres que en el cuadro de texto 13 te aparezca eso. En algún evento, por ejemplo Después de actualizar de cualquier control puedes poner

Dim a
a = Weekday(Date, vbMonday)
If a = 1 Then
Texto13 = Format(Date, "dddd/dd/mmmm") & " a " & Format(Date + 7, "dddd/dd/mmmm")
ElseIf a = 2 Then
Texto13 = Format((Date) - 1, "dddd/dd/mmmm") & " a " & Format(Date + 6, "dddd/dd/mmmm")
ElseIf a = 3 Then
Texto13 = Format((Date) - 2, "dddd/dd/mmmm") & " a " & Format(Date + 5, "dddd/dd/mmmm")
ElseIf a = 4 Then
Texto13 = Format((Date) - 3, "dddd/dd/mmmm") & " a " & Format(Date + 4, "dddd/dd/mmmm")
ElseIf a = 5 Then
Texto13 = Format((Date) - 4, "dddd/dd/mmmm") & " a " & Format(Date + 3, "dddd/dd/mmmm")
ElseIf a = 6 Then
Texto13 = Format((Date) - 5, "dddd/dd/mmmm") & " a " & Format(Date + 2, "dddd/dd/mmmm")
ElseIf a = 7 Then
Texto13 = Format((Date) - 6, "dddd/dd/mmmm") & " a " & Format(Date + 1, "dddd/dd/mmmm")
End If

Se podría hacer de otra forma pero creo que es más didáctico que lo veas paso a paso.

Muchas gracias Icue González! lo he probado y me funciona, lo único que he hecho es adaptarlo para que me cierre la semana en domingo, pues me la cerraba de lunes a lunes. He intentado poner el año después de la segunda fecha y no he podido, no sé si es posible. Gracias una vez más, me has solucionado el problemilla.

Saludos!

Javier.

Si que puedes. Si quieres el año con 4 dígitos ponlo como

Texto13 = Format((Date) - 3, "dddd/dd/mmmm/yyyy") & " a " & Format(Date + 4, "dddd/dd/mmmm/yyyy")

En caso de que lo quieras con dos

Texto13 = Format((Date) - 3, "dddd/dd/mmmm/yy") & " a " & Format(Date + 4, "dddd/dd/mmmm/yy")

Gracias de nuevo! lo probaré.

Saludos!

Javier.

Hola de nuevo, Icue Gonzalez. Me ha funcionado muy bien tu última ayuda, pero tengo otra cuestión que, si lo ves conveniente, puedo preguntarlo en el foro general. Es lo siguiente: cómo puedo hacer para que cuando escoja una fecha en un control de tipo fecha, me aparezca la semana completa del ejemplo que me diste. Por ejemplo: si selecciono el día 15/05/2017, me devuelva en el control que ya tengo (con tu ejemplo): lunes 15 de mayo a 21 de mayo de 2017. Espero haberme explicado bien y no sé si es un poco lioso. Muchas gracias!

Supongamos que donde eliges la fecha es un combinado que se llama(propiedades-Otras-Nombre) Elegir

En la instrucción anterior cambia todos los Date por [elegir], o sea

a=weekday([elegir],vbsunday)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas