OK. Try changing:
Dim startDate As Date
to:
Dim startDate As Long
and changing;
startDate = CDate(InputBox("Please enter Start Date: ", "STARTDATE"))
to:
startDate = DateValue(InputBox("Please enter start Date:", STARTDATE"))
I'll take a guess that vlookup doesn't like to handle the Date
variant; from excel help:
"Lookup_value can be a value, a reference, or a text string"
and include some more code to check for a valid date input by the user.