• Jueves 28 de Marzo de 2024, 10:25

Autor Tema:  Calcular El Numero De Dias De Un Mes  (Leído 1107 veces)

vradok

  • Miembro activo
  • **
  • Mensajes: 97
    • Ver Perfil
Calcular El Numero De Dias De Un Mes
« en: Miércoles 26 de Mayo de 2004, 11:42 »
0
Hola!
Mi problema es que estuve haciendo un codigo que calculase el numero de dias de cada mes para poder realizar un calendario .No encontre ninguna funcion que me valiese y hice este codigo que me da error .
A ver si alguien me corrige el codigo o bien me da otra solucion:

Código: Text
  1.  
  2.  
  3. Public Function DiasMes(Mes As Variant, Año As Variant)
  4. Dim comprobar As String
  5.  comprobar = ("29/" & Mes & "/" & Año)
  6.  If Not IsDate(CDate(comprobar)) Then
  7.     DiasMes = 28
  8.     Exit Function
  9.  End If
  10.  comprobar = ("30/" & Mes & "/" & Año)
  11.  If Not IsDate(CDate(comprobar)) Then
  12.     DiasMes = 29
  13.     Exit Function
  14.  End If
  15.  comprobar = ("31/" & Mes & "/" & Año)
  16.  If Not IsDate(CDate(comprobar)) Then
  17.     DiasMes = 30
  18.  Else
  19.     DiasMes = 31
  20.  End If
  21. End Function
  22.  
  23.  
Se agradece cualquier ayuda  ;)
********************************************************
                  ladrones

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Calcular El Numero De Dias De Un Mes
« Respuesta #1 en: Miércoles 26 de Mayo de 2004, 14:43 »
0
Hola vradok.

Lo que pretendes se puede conseguir de muchas formas... aquí te muestro una que se ocurre:

Código: Text
  1.  
  2. Public Function DiasDelMes (Byval Mes as Integer) As Integer
  3.  
  4.    If Mes < 1 or mes > 12 Then
  5.        MsgBox "El mes no es válido." _
  6.        , vbExclamation, "Dias del mes"
  7.        Exit Function
  8.    End If
  9.    
  10.    If Mes < 12 Then
  11.        DiasDelMes = DateDiff("d","1/" & Mes & "/" & Year(Now), "1/" & Mes + 1 &  "/" & Year(Now))
  12.    Else
  13.        DiasDelMes = DateDiff("d","1/12/" & Year(Now), "1/1/" & Year(Now) + 1)
  14.    End If
  15.  
  16. End Function
  17.  
  18.  

Por supuesto que también podrías pasar como parámetro el año y sustituir 'Year(Now)' por la variable correspondiente.

Suerte.

vradok

  • Miembro activo
  • **
  • Mensajes: 97
    • Ver Perfil
Re: Calcular El Numero De Dias De Un Mes
« Respuesta #2 en: Miércoles 26 de Mayo de 2004, 18:04 »
0
Muchisimas gracias Brroz  :smartass:  no se me habia ocurrido usar datediff.

Saludos
********************************************************
                  ladrones