【发布时间】:2018-05-31 09:23:38
【问题描述】:
我有 VBA 代码,它可以选择一系列日期并将它们插入到另一个工作表中。
Set data = csvFile.Sheets(sheetname).Range("$A$1:$F$" & lastRow)
newPlan.Sheets(client & "_CSV").Range("$A$1:$F$" & lastRow).Value = data.Value
日期是 DD/MM/YY 格式,当它们被插入到新文件时,它们会被赋予 MM/DD/YYYY 格式,但前提是日期可以存在。
例如 30/05/18 将被插入,因为没有第 30 个月,但 01/05/18 将被插入为 05/01/2018。
我不介意复制日期的格式,只要它们是一致的。如果它们是 MM/DD/YYYY 格式,我可以稍后将它们转换为正确的格式。
我尝试在从 CSV 文件复制之前设置数字格式,但没有帮助:
csvFile.Sheets(sheetname).Range("$D$1:$D$" & lastRow).NumberFormat = "dd/mm/yyyy"
【问题讨论】:
-
你试过“yyyy/mm/dd”吗?
-
尽可能长地读取日期并写出格式化列或之后应用格式?