我有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"
答案 0 :(得分:1)
尝试清除Range("$D$1:$D$" & lastRow)
中的所有日期格式并应用NumberFormat方法:
csvFile.Sheets(sheetname).Range("$D$1:$D$" & lastRow).ClearFormats
csvFile.Sheets(sheetname).Range("$D$1:$D$" & lastRow).NumberFormat = "dd/mm/yyyy"
答案 1 :(得分:0)
您需要选择单元格并将其设置为等于“格式(单元格,数据样式)”。
例如,Row和Col为工作表中的任何位置:
sheet.Cells(Row, Col) = Format(sheet.Cells(Row, Col), "dd/mm/yyyy")