If.......Else Rangos

02/02/2009 - 10:05 por gongi | Informe spam
Hola Grupo!
Por favor, una ayuda con esto:
Estoy intentando llevar a una celda, de una factura, una tarifa,(un
precio) , que depende de :
[un rango de meses] y dentro de ese rango de [el día de la semana].
Lo que no consigo es expresar esos rangos de meses dentro de un
condicional (if).


Sub Tarifas()

Dim MiFecha, MiDiaSemana,

' Conseguir el dia de la semana de la fecha de la factura '

MiFecha = ([b3])
MiDiaSemana = Weekday(MiFecha) - 1 'porque usa 0 como primer
dia'
Cells(1, 8) = MiDiaSemana ' celda de control - informativa'


'rango de meses para la tarifa1 '

If MiFecha <= #3/31/2009# Or _ 'primer tramo de la tarifa1'
MiFecha >= #4/11/2009# Or MiFecha <= #7/26/2009# Or _ '2º tramo de
la tarifa1'
MiFecha >= #1/11/2009# Or MiFecha >= #2/12/2009# Or _ 'tercer tramo
de la tarifa1'
MiFecha >= #12/12/2009# Or MiFecha >= #12/19/2009# Then '4º tramo de
la tarifa1'

'Tarifa1 a aplicar según el dia de la semana'


Select Case MiDiaSemana


Case 0, 1
Cells(27, 2) = 389
Case 2, 3
Cells(27, 2) = 309
Case 4, 5, 6, 7
Cells(27, 2) = 359
Case Else
Cells(27, 2) = 0
End Select

'tarifa2 '


ElseIf _

MiFecha >= #1/4/2009# Or MiFecha <= #10/4/2009# Or _
'Tramos en meses para la tarifa2'
MiFecha >= #3/12/2009# Or MiFecha >= #11/12/2009# Or _
MiFecha >= #12/20/2009# Or MiFecha >= #12/31/2009# Then


Select Case MiDiaSemana 'Tarifa2 a aplicar según el dia de la
semana'

Case 0, 1
Cells(27, 2) = 499
Case 2, 3
Cells(27, 2) = 389
Case 4, 5, 6, 7
Cells(27, 2) = 459
Case Else
Cells(27, 2) = 0
End Select

'tarifa3'

Else 'Tarifa para el resto de meses'


Select Case MiDiaSemana

Case 0, 1, 2, 3, 4, 5, 6, 7 ' es la misma tarifa toda la
semana'
Cells(27, 2) = 599

Case Else

Cells(27, 2) = 0

End Select



End If


End Sub

Agradezco cualquier ayuda
Un saludo !
 

Preguntas similares