通过vba在excel中的“dd/mm/yyyy”日期格式

Posted

技术标签:

【中文标题】通过vba在excel中的“dd/mm/yyyy”日期格式【英文标题】:"dd/mm/yyyy" date format in excel through vba 【发布时间】:2014-09-28 10:14:57 【问题描述】:

我正在尝试通过 excel-vba 在 excel 表中以“dd/mm/yyyy”格式编写日期。我使用Cells(1, 1).Value = Format(StartDate, "dd/mm/yyyy") 实现了它。我的单元格值是30/04/2014,这很好.....

但是有一些奇怪的问题...... 因为我必须通过每次将 startDate 加 1 来迭代整个月,所以下一个值是 1/5/2014 而不是 01/05/2014 直到每个月的 12 日 12/5/2014 并且从 13 日开始,月份再次发生变化两位数13/05/2014....

我希望全部为两位数,因为我必须再次使用 Range.Find 方法搜索这些日期,在该方法中,我使用 "dd/mm/yyyy" fromat 传递值。

【问题讨论】:

在调试时,我得到两位数的值01/05/2014 【参考方案1】:

我明白了

Cells(1, 1).Value = StartDate Cells(1, 1).NumberFormat = "dd/mm/yyyy"

基本上,我需要设置单元格格式,而不是设置日期。

【讨论】:

【参考方案2】:

您的问题是尝试通过在 Excel 中的日期序列中添加 1 来更改月份。1 等于 1 天。尝试使用以下方法更改您的月份:

NewDate = Format(DateAdd("m",1,StartDate),"dd/mm/yyyy")

【讨论】:

我必须添加天数,而不是月数...我在调试时获得了所需的结果,但是在将其插入 excel 时,格式不考虑日期和月份列中的 2 位数字 StartDate 是什么类型的对象?可以试试:Format(StartDate+1,"dd/mm/yyyy"),看看能不能得到你想要的格式? 您还可以使用范围的.NumberFormat 属性。例如,如果您希望格式化为 dd/mm/yyyy 的日期位于单元格 A1 中,则可以使用 Range("A1").NumberFormat = "dd/mm/yyyy"。我不确定这与Format 有何不同(或为什么),这只是一个可能有帮助的建议。

以上是关于通过vba在excel中的“dd/mm/yyyy”日期格式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHPExcel 库读取 excel 一个单元格日期(DD/MM/YYYY)值并将日期格式转换为(M/D/YYYY)

dd/mm/yyyy 是啥日期格式?

将日期格式更改为 yyyy-mm-dd

Oracle 数据库中的 VBA ADODB DATE 字段类型

Excel 日期格式

通过laravel Eloquent Model以dd / mm / yyyy插入日期格式