【发布时间】:2017-09-05 21:09:45
【问题描述】:
我正在尝试将数据从 Access 数据库复制到 Excel 电子表格
首先我需要通过搜索日期找到正确的列,这适用于日期为 2 位的日期,即 2017 年 9 月 16 日,但对于 2017 年 6 月 9 日只有一个数字的日期,它无法找到日期
在 excel 中,我尝试使用 2017 年 6 月 9 日进行查找,结果很好,但找不到 06/09/2017
我的访问字段显示为 2017 年 9 月 6 日,所以我不确定问题出在哪里,我在下面尝试过代码(所有结果都相同)
colNo = .Cells.Find(What:=Format(Me.RejectDate,dd/mm/yyyy), After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column
colNo = .Cells.Find(What:=CDate(Me.RejectDate), After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column
colNo = .Cells.Find(What:=Me.RejectDate, After:=.Cells(1, 1), LookIn:=(-4123), SearchOrder:=2, SearchDirection:=1, MatchCase:=False).Column
0 是自动添加的吗?如果是,为什么?我该如何阻止它?
还是有其他问题?
【问题讨论】:
-
DD/MM/YYYY 是国际格式,不是 MM/DD/YYYY 的访问标准。查看allenbrowne.com/ser-36.html。在 Format 函数中使用 dd 会强制占位符为 0,因此它的格式为 06,而不是 6。我很惊讶 Format 函数在没有引号中的格式掩码的情况下完全有效。
-
Format 函数的结果是字符串,不是日期值。我只是重新阅读了这个问题。很奇怪。格式化的日期应匹配 06/09/2017,而不是 6/09/2017。
-
@June7 哦,我的错,当我运行它时它确实有引号,但我只是匆忙地从 CDate 重写了它,以显示我在将它复制到问题中时尝试过的内容
-
我在美国以外的新西兰,所以我的区域设置是新西兰,默认日期格式是 dd/mm/yyyy,不确定它是否会影响这一点,但我只是说万一