Excel VBA中的Date类型的匹配问题
办公教程导读
收集整理了【Excel VBA中的Date类型的匹配问题】办公软件教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含562字,纯文字阅读大概需要1分钟。
办公教程内容图文
VBA的Date类型比较奇怪。
测试:
1. 新建一个空白的Excel文档,在A1单元格输入2009-11-12。
2. 打开VBA编辑器,插入模块,增加下面这个宏
Sub test() MsgBox #11/12/2009# = Range("A1").Value ' true MsgBox VarType(#11/12/2009#) = VarType(Range("A1").Value) ' true MsgBox Application.WorksheetFunction.Match(#11/12/2009#, Range("A1"), 0) ' errorEnd Sub
3. 按F5运行test宏,可以看到Range("A1")的类型和值都和#11/12/2009#一致(通过对range("A1")的监视也可以看出这一点),都是Date类型,但是如果用match去匹配的话,却出现错误。
解决方法,在匹配中将要匹配的Date类型的数据强制转换成Long类型去匹配。
MsgBox Application.WorksheetFunction.Match(CLng(#11/12/2009#), Range("A1"), 0)
对其原理还是不清楚,不知道有没有看到的高手来做一下解释。
办公教程总结
以上是为您收集整理的【Excel VBA中的Date类型的匹配问题】办公软件教程的全部内容,希望文章能够帮你了解办公软件教程Excel VBA中的Date类型的匹配问题。
如果觉得办公软件教程内容还不错,欢迎将网站推荐给好友。