【发布时间】:2018-03-29 05:05:26
【问题描述】:
我希望使用 VBA 在 Excel 中正确格式化日期。我查看了其他解决方案,但没有帮助。
我正在使用 VBA 从页面中获取一个条目,对其进行格式化,然后将其编辑为一个 SQL 字符串,该字符串将通过 Oracle 数据库。
我需要日期为 DD-mmm-YYYY 格式,“2017 年 10 月 17 日”使用今天的日期。
我的代码:
Range("A1").Select
Selection.NumberFormat = "d-mmm-yyyy"
date= UserSheet1.Cells(1, 1)
在单元格中,它显示正确,但是当我在代码中引用“日期”变量时,它显示为 10/17/2017。
【问题讨论】:
-
为什么一定要
DD-MON-YYYY? Oracle 接受多种数据格式,包括DD/MM/YYYY。 -
@MT0 你几乎肯定是对的,但也许我的小组配置数据库的方式,它拒绝了它?如果不幸没有以其他方式呈现,我会收到错误:(
-
请提供minimal reproducible example,包括您用来将值传递给Oracle 的代码。就目前而言,它似乎是一个XY-problem,可以通过修复将日期传递给 Oracle 的方式而不是将日期转换为不同的格式来解决。
-
@Scott Craner 的回答没有问题地修复了它,所以,这是不必要的。另外,我认为粘贴 598 行代码也无济于事。一旦我使用了他的解决方案,我的程序就可以正常运行。无论如何,谢谢你的建议。