我创建了一个包含映射文件的Excel。我想要做的是让用户在这里输入数据并按ctrl + E(我创建了一个宏),然后将其导出为XML。这就是问题:当第1行被导出时,它会将其日期和时间格式保存为XML(例如:在XML中,时间将显示为12/01/2013)。但是在该行下输入的任何内容都不会以我想要的格式显示。相反,它将显示为1345464日期。
这件事非常烦人,因为我无法弄清楚我可以做什么来格式化整个Excel文档/列,所以它会将日期和时间显示为文本而不是奇怪的数字。
有人请帮帮我。
答案 0 :(得分:2)
在VBA中,使用Format
函数
date = Format(date, "mm/dd/yyyy")
然后更改存储它的单元格的格式:
Cells(row, col).NumberFormat = "@"
(替换row
和col
答案 1 :(得分:2)
我不是专家,但我花了很多时间试图解决这个问题,最终这段代码对我有用
Dim eCell as Range
For Each eCell In Range("O20:P20")
If Len(eCell.Value) > 0 Then
eCell.NumberFormat = "@"
eCell.Value = CDate(eCell.Value)
End If
Next
CDate函数将序列日期转换回正常日期
答案 2 :(得分:1)
步骤1:将开始日期中的日期拖到要填充数据的行。 (对Enddate列执行相同操作)。
步骤2:注意底部的一个小方框(在步骤1之后出现)。展开方框。
步骤3:选择以下选项:仅填充格式。
恭喜!现在尝试输入/粘贴日期。它应该保持在左侧(文本格式)。