You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:12:11