Public Sub Main() Dim numsemana As Integer = 50 ' valores a buscar Dim anio As Integer = 2015 ' valores a buscar Dim wkday, i As Integer Dim nombredias As String[] = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"] Dim inicio, semanabuscada As Date ' Obtenemos el primer día de la semana del año wkday = WeekDay(Date(anio, 1, 1)) 'Print wkday ' resulta el número de día de la semana en la que ' comienza el año. Lunes=1, Martes=2, etc 'NOTA: dependiendo de cómo caiga el primer día del año 'dentro de la semana, se contará como semana 0 ó 1. Como regla 'general, de lunes a jueves es 1, de viernes a domingo es 0. If wkday <= 4 Then ' si es igual a jueves o antes, empezamos a contar a partir del anterior lunes inicio = DateAdd(Date(anio, 1, 1), gb.Day, - (wkday - 1)) 'Print inicio Else ' en caso contrario, buscamos el lunes de la semana siguiente inicio = DateAdd(Date(anio, 1, 1), gb.Day, (8 - wkday)) 'Print inicio Endif 'Sumamos a esta fecha el número de semana buscada multiplicado 'por 7 días que tiene cada semana sin incluir la semana actual semanabuscada = DateAdd(inicio, gb.Day, (numsemana - 1) * 7) 'Print semanabuscada For i = 0 To 6 Print nombredias[i] & "\t" & Format(DateAdd(semanabuscada, gb.Day, i), "dd-mm-yyyy") Next End