para saber si un año es biciesto
Y para calcular el número de dias que tiene un mesCódigo:Public Function EsBiciesto(Año As Integer) As Boolean EsBiciesto = False If (Año Mod 4 = 0) And Not (Año Mod 100 = 0) Or (Año Mod 400 = 0) Then EsBiciesto = True End Function
Código:Public Function NumDiasMes(Mes As Integer, Año As Integer) As Integer Dim TempDias As Integer Select Case Mes Case 1, 3, 5, 7, 8, 10, 12: TempDias = 31 Case 4, 6, 9, 11: TempDias = 30 Case 2 If (Año Mod 4 = 0) And Not (Año Mod 100 = 0) Or (Año Mod 400 = 0) Then TempDias = 29 Else TempDias = 28 End If Case Else: TempDias = 0 'si se ingresa un mes no valio se devuelve 0 End Select NumDiasMes = TempDias End Function