Debug.Print UDF_Malte(Integer,Date)
您将如何输入日期值?
使用
Debug.Print UDF_Malte(1, 8 / 2 / 2016)
返回错误。
尝试
Debug.Print UDF_Malte(1, "8 / 2 / 2016")
VBA中的日期文字包含在#
中,无论当前用户的语言环境如何,都在En-US语言环境中写入。编写日期文字时,您可能会更详细(#August 2, 2017#
还可以),但是IDE完成打字后会将它们变成归一化的#mm/dd/yyyy#
。
鉴于您的8/2/2016
已经在EN-US中(mm/dd/yyyy
),
Debug.Print UDF_Malte(1, #8/2/2016#)