Para termos numa célula o número de dias que o mês corrente tem, normalmente, utilizamos a seguinte fórmula:
=DIA(FIMMÊS(AGORA();0))
Contudo, podemos utilizar uma UDF para obtermos o mesmo resultado, ou seja, em vez de escrevermos uma fórmula com 3 funções, como a que acima foi transcrita, podemos ter apenas uma função, no caso do exemplo que se segue, será a função:
=DiasNoMês()
Eis o código:
Public Function DiasNoMês(Optional dtmDate As Date = 0) As Integer
If dtmDate = 0 Then
dtmDate = Date
End If
DiasNoMês = DateSerial(Year(dtmDate), Month(dtmDate) + 1, 1) – DateSerial(Year(dtmDate), Month(dtmDate), 1)
End Function
Mérito para Ken Getz e Mike Gilbert (VBA Developer’s Handbook – Second Edition)