bLeapYear = Date.IsLeapYear(Now.Year)

Nice.. whats the class type for the Date variable you are using?

Is it just like Dim Date asDate?

And the reason this code can be tricky if done manually is that common knowledge is that there is a leap year every 4 years. Uncommon knowledge is that there is an extra rule that any year divisible by 100 but not divisible by 400 is not a leap year.

So 1900 wasn't a leap year while 2000 was.