DIAS DA SEMANA NUM PERIODO
Galera,
é o seguinte, preciso saber num determinado intervalo quantos vezes aparecem cada dia da semana.
Exemplo: de 02/04/07 a 25/04/07
SEG aparece 4 vezes
TER aparece 4 vezes
QUA aparece 4 vezes
QUI aparece 3 vezes
SEX aparece 3 vezes
SAB aparece 3 vezes
DOM aparece 3 vezes
talvez seja fácil, mas minha cabeça ta enrolada com tanta coisa que não to conseguindo pensar...
é o seguinte, preciso saber num determinado intervalo quantos vezes aparecem cada dia da semana.
Exemplo: de 02/04/07 a 25/04/07
SEG aparece 4 vezes
TER aparece 4 vezes
QUA aparece 4 vezes
QUI aparece 3 vezes
SEX aparece 3 vezes
SAB aparece 3 vezes
DOM aparece 3 vezes
talvez seja fácil, mas minha cabeça ta enrolada com tanta coisa que não to conseguindo pensar...
se não achar nenhuma forma mais facil tenta assim:
Dim semana(6) As Integer
Dim inicio As Date
Dim fim As Date
inicio = "02/04/2007"
fim = "25/04/2007"
For a = CVDate(inicio) To CVDate(fim)
Select Case Weekday(a)
Case 1 'domingo
semana(0) = semana(0) + 1
Case 2 'segunda
semana(1) = semana(1) + 1
Case 3 'terça
semana(2) = semana(2) + 1
Case 4 'quarta
semana(3) = semana(3) + 1
Case 5 'quinta
semana(4) = semana(4) + 1
Case 6 'sexta
semana(5) = semana(5) + 1
Case 7 'sabado
semana(6) = semana(6) + 1
End Select
Next
MsgBox "Domingo " & semana(0) & Chr(13) & " Segunda " & semana(1) & Chr(13) & " Terça " & semana(2) & Chr(13) & " Quarta " & semana(3) & Chr(13) & " Quinta " & semana(4) & Chr(13) & " Sexta " & semana(5) & Chr(13) & " sabado " & semana(6)
Dim DataAcu As Date
Dim DataIni As Date
Dim DataFim As Date
Dim Seg As Integer
Dim Ter As Integer
Dim Qua As Integer
Dim Qui As Integer
Dim Sex As Integer
Dim Sab As Integer
Dim Dom As Integer
DataIni = "02/04/2007"
DataFim = "25/04/2007"
DataAcu = DataIni
While DataAcu <= DataFim
If Weekday(DataAcu) = 1 Then
Dom = Dom + 1
ElseIf Weekday(DataAcu) = 2 Then
Seg = Seg + 1
ElseIf Weekday(DataAcu) = 3 Then
Ter = Ter + 1
ElseIf Weekday(DataAcu) = 4 Then
Qua = Qua + 1
ElseIf Weekday(DataAcu) = 5 Then
Qui = Qui + 1
ElseIf Weekday(DataAcu) = 6 Then
Sex = Sex + 1
ElseIf Weekday(DataAcu) = 7 Then
Sab = Sab + 1
End If
DataAcu = DateAdd("d", 1, DataAcu)
Wend
valeu galera, isso mesmo
Tópico encerrado , respostas não são mais permitidas