v.g.
=DIA(FIN.MES("03/07/2009";0)) da como resultado 31
=DIA(FIN.MES("03/02/2009";0)) da como resultado 28
Cuál es la función equivalente a fin.mes con vba?
Muchas gracias por la ayuda
Jorge M
> ... necesito hacer la misma operacion que utilizo con la funcion fin.mes pero con vba.
> v.g.
> =DIA(FIN.MES("03/07/2009";0)) da como resultado 31
> =DIA(FIN.MES("03/02/2009";0)) da como resultado 28
> Cual es la funcion equivalente a fin.mes con vba?
1) en vba podrias encontrar "detalles" si basas tus fechas en convencionalismos "regionales" (p.e.)
el orden de fechas de TU configuracion regional es: dd/mm/aaaa
vba siempre "prefiere" el orden de fechas US-centric: mm/dd/aaaa
y/o una forma mas "universal" de trabajar con fechas es usar el orden: aaaa/mm/dd
2) para saber el ultimo dia del mes de una fecha, puedes preguntar por "el dia cero del siguiente mes" (p.e.)
UltimoDia = Day(DateSerial(a�o, mes + 1, 0))
saludos,
hector.
If IsMissing(MonthsToAdd) Then
MonthsToAdd = 0
End If
TotalMonths = Month(InputDate) + MonthsToAdd
NewMonth = TotalMonths - (12 * Int(TotalMonths / 12))
NewYear = Year(InputDate) + Int(TotalMonths / 12)
If NewMonth = 0 Then
NewMonth = 12
NewYear = NewYear - 1
End If
Select Case NewMonth
Case 1, 3, 5, 7, 8, 10, 12
FinMes = DateSerial(NewYear, NewMonth, 31)
Case 4, 6, 9, 11
FinMes = DateSerial(NewYear, NewMonth, 30)
Case 2
If Int(NewYear / 4) = NewYear / 4 Then
FinMes = DateSerial(NewYear, NewMonth, 29)
Else
FinMes = DateSerial(NewYear, NewMonth, 28)
End If
End Select
End Function
Function LastOfThisMonth(dtm As Date) As Date
LastOfThisMonth = DateAdd("d", -1, DateSerial(Year(dtm), Month(dtm) + 1,
1))
End Function
"Héctor Miguel" wrote:
> UltimoDia = Day(DateSerial(año, mes + 1, 0))
>
> saludos,
> hector.
>
>
>
En VBA existe la siguiente función, que me parece más práctica:
WorksheetFunction.EoMonth(....)
Saludos
"Yrjo, Inc." escribió:
> Hola, llegue tarde a la discusion... pero no importa
> En VBA existe la siguiente funcion, que me parece mas practica:
> WorksheetFunction.EoMonth(....)
(por lo que pudiera valer y hasta donde se...) esas funciones (las del complemento de herramientas para analisis)
no estan disponibles para vba en las versiones previas a la 2007 (al menos, dentro de la coleccion de las worksheetfunctions)
por si pudieras comentar como y en que version has hecho tus pruebas ?
saludos,
hector.
__ OP __ (julio 2009) __