VBAの関数で引数にNullを指定してもエラーとならないのは、深い知識が無くても使えるための言語仕様だと思うけど、想定外の結果を招くことがある。
例えば If Month(Null) > 3 Then
Debug.Print "Null > 3"
Else
Debug.Print "Null <= 3 !?"
End If
<処理結果> Null <= 3 !?
こういう場合に Else だけでは想定外の結果となる。
ただし、数値と文字の比較ではエラーとなる。
例えば If 3 < "" Then Debug.Print "3 < ''"