【发布时间】:2017-03-17 16:55:13
【问题描述】:
我正在使用将某些数据导出为 CSV 格式的应用程序。但是,日期列在原始数据中的格式不正确,并且包含不必要的年份尾随字符,这会阻止 Excel 在导入后正确解释它。
如果我在列上手动运行查找和替换,这些值会自动识别为日期。但是,如果我将操作记录为宏,然后再次运行,则会删除尾随字符,但列中的数据会保留为文本,而不是日期。
这是 VBA 代码:
Sub formatDate()
Columns("A:A").Select
Selection.Replace What:=" г.", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
日期的区域格式为DD.MM.YYYY。此外,如果我只是编辑任何结果单元格 (F2) 并按 Enter 键,Excel 会切换到正确的格式。
样本数据:
4 март 2017 г.
4 март 2017 г.
3 март 2017 г.
1 март 2017 г.
28 февруари 2017 г.
27 февруари 2017 г.
27 февруари 2017 г.
26 февруари 2017 г.
26 февруари 2017 г.
【问题讨论】:
-
是文本看起来像日期的固定格式,所以它们都是相同的长度;例如他们是 2017 年 3 月 5 日还是 2017 年 3 月 5 日?如果是这样,那么具有固定长度和正确的 DMY 与 MDY 格式的 Text-To-Columns 是一种更好的方法。抱歉,没有样本数据,所以没有解决方案。
-
不幸的是,文本应该是一个日期不是固定长度,因为生成程序使用月份的名称,此外,日期有时是 1 位,有时 -有两个。
-
所以我想提供几个'date-with-text'的例子可能是个好主意。