使用VBA IsDate()函数时出现编译错误的求助
解决VBA中IsDate()函数编译错误的方案
你的代码出现编译错误主要有两个原因:
- 子程序名称与内置函数重名:你把测试子程序命名为
IsDate(),和VBA内置的IsDate函数完全同名。当你在代码中调用IsDate(datastart)时,VBA会误以为你要调用自己定义的无参数子程序,从而抛出“参数数量错误或无效属性赋值”的编译错误。 - 变量名拼写错误:代码最后一行
MsgBox ver中的ver是拼写错误,实际定义的变量是v。
修正后的代码如下:
Sub TestIsDate() Dim datastart As String Dim v As Boolean datastart = "22/03/2023" 'datastart = "222/03//2023" MsgBox datastart v = IsDate(datastart) MsgBox v End Sub
将子程序名称改为TestIsDate(或其他不与内置函数重名的名称)后,就能正常调用VBA内置的IsDate()函数进行日期验证,同时修正变量名后可以正确显示验证结果。
内容的提问来源于stack exchange,提问作者Bish1999
相关产品推荐
相关产品推荐

