12-may-2008, 10:16
|
#6 (permalink)
|
|
Colaborador
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 5.510
|
Re: Semanas por Mes
Hice un código de ejemplo, espero que pueda ayudarte con tu idea (una Macro de Excel, pero creo que también funcionará en VB6). Algo así:
Código:
Function Semana(vYear As Integer, NumSemana As Byte, FechaInicio As Date, FechaFin As Date) As Byte
Dim Inicio As Byte
Dim FirstWeek As Byte
Dim InitDate As Date
Inicio = Weekday(CDate("01/01/" & vYear), vbMonday)
If Inicio > 1 Then
FirstWeek = 7 - (Inicio - 1)
End If
If NumSemana > 1 Then
InitDate = DateSerial(vYear, 1, 1 + FirstWeek)
FechaInicio = DateSerial(vYear, 1, Day(InitDate) + (7 * (NumSemana - 2)))
FechaFin = DateSerial(Year(FechaInicio), Month(FechaInicio), Day(FechaInicio) + 6)
FirstWeek = 7
If Year(FechaFin) > vYear Then
FechaFin = CDate("31/12/" & vYear)
FirstWeek = DateDiff("d", FechaInicio, FechaFin) + 1
End If
Else
FechaInicio = CDate("01/01/" & vYear)
FechaFin = DateSerial(vYear, 1, FirstWeek)
End If
Semana = FirstWeek
End Function
Para llamarlo haces así:
Código:
Dim DateInicio As Date
Dim DateFin As Date
Dim NumDias As Byte
NumDias = Semana(2008, 1, DateInicio, DateFin)
MsgBox "Número de Días: " & NumDias & vbCrLf & "Fecha de Inicio: " & DateInicio & vbCrLf & "Fecha Fin: " & DateFin
'El parámetro NumSemana puedes cambiarlo por el número de la semana de la que deseas obtener los Datos...
Espero que te ayude en algo.
Saludos. 
__________________
"En la vida muchas veces tenemos que ser aprendices, y muchas veces maestros"
P.S.: Pregunta siempre en el foro correcto.
|
|
|