Excel VBA中的Date类型的匹配问题

时间:2023-08-01 14:50:56 

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函数
0
投稿

猜你喜欢

  • 怎么取消excel2007密码

    2023-10-16 03:53:23
  • Excel动态图表如何制作 Excel动态图表教程

    2022-10-24 04:27:49
  • Win7怎么升级到Win11系统?

    2023-02-01 12:35:39
  • Win10系统资源管理器总是自动刷新如何解决?

    2022-05-07 19:21:51
  • Win10系统安装.NET framework4.0不成功的解决方法

    2022-06-12 11:40:02
  • VLOOKUP函数多行查找怎么用

    2022-06-22 08:29:15
  • win10usb问题汇总?win10usb有什么作用?

    2023-09-24 06:21:38
  • Win10、win8.1的对比测试:看看有什么不一样

    2022-11-11 16:05:05
  • excel利用公式计算天数的教程

    2022-08-24 23:38:45
  • Win10 Mobile build 14393.189安装与上手体验视频

    2023-10-31 05:24:47
  • Win11怎么把桌面文件放在D盘?Win11桌面文件在D盘操作教程

    2022-06-15 06:25:44
  • Win7如何使用画图工具截图?

    2022-07-29 12:07:14
  • 在WPS 2007邮件合并中引用特殊格式

    2022-08-26 00:25:28
  • 苹果 macOS 13.3.1 更新发布:修复 Apple Watch 手表无法自动解锁 Mac 问题

    2023-03-29 16:53:23
  • 用WSP表格手工制作田字格模板

    2022-08-26 20:51:34
  • 蓝叠模拟器提示“不兼容的Windows设置"怎么办?

    2023-04-25 10:03:17
  • Word的组合图形功能的用法

    2022-05-15 20:24:09
  • Windows 10首次更新更新了哪些内容?

    2023-07-08 03:41:40
  • windows在哪里添加右键管理员权限?怎么添加?

    2023-08-13 04:17:19
  • oppoa7x的相机设置在哪里?oppoa7x中找到相机设置的方法

    2023-08-23 20:53:46
  • asp之家 电脑教程 m.aspxhome.com