1

我创建了一个包含映射文件的 Excel。我想做的是让用户在这里输入数据并按 ctrl + E (我创建了一个宏),它会将其导出为 XML。这就是问题所在:当第 1 行被导出时,它会在 XML 中保留其日期和时间格式(例如:在 XML 中,时间将显示为 12/01/2013)。但是在该行下输入的任何内容都不会以我想要的格式显示。相反,它将显示为日期 1345464。

这件事很烦人,因为我无法弄清楚我可以做什么来格式化整个 Excel 文档/列,因此它将日期和时间显示为文本而不是奇怪的数字。

有人请帮帮我。

4

3 回答 3

2

在 VBA 中,使用Format函数

date = Format(date, "mm/dd/yyyy")

然后更改存储它的单元格的格式:

Cells(row, col).NumberFormat = "@"

(用你的单元格坐标代替rowand col

于 2013-06-14T20:55:04.893 回答
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 函数将序列日期转换回正常日期

于 2015-01-07T15:02:00.133 回答
1

哇我觉得自己好傻!这比我想象的要容易:

第 1 步:将开始日期中的日期拖到您将填充数据的行中。(对 Enddate 列执行相同操作)。

在此处输入图像描述

Step2:注意底部有一个小方框(在step1之后出现)。展开方框。

在此处输入图像描述

第三步:选择选项:仅填充格式。

在此处输入图像描述

恭喜!现在尝试输入/粘贴日期。它应该留在左边(文本格式)。

于 2013-06-26T18:21:39.417 回答