【发布时间】:2015-04-16 03:29:47
【问题描述】:
我在查找和替换方面遇到了一些问题。在我的源工作簿中,我有项目开始日期的文本字符串。例如,他们阅读每天(周一至周五)的前三个字母,然后是相关的日期“Mon dd/mm/yyyy”。我需要它们以日期“dd/mm/yyyy”的形式出现,以便我可以在另一个工作簿中提取后使用它们。
如果我手动删除“Mon”或在工作表本身中使用全部替换,我会得到“dd/mm/yyyy”的正确值(自动转换为日期格式)。日期 01/05/2015 的序列号,例如 42186。
但是,当我使用宏通过替换工具删除“Mon”时,我的日期值变为 05/01/2015。不是格式错误,而是实际值发生变化,新的日期序列号为42009。
任何关于为什么会发生这种情况/如何阻止它的帮助将不胜感激!
我在下面包含了我的宏替换代码。
Sub replace()
'Replace "Wed -Fri " with ""
Columns("C:C").Select
Selection.replace What:="Wed ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.replace What:="Fri ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.replace What:="Thu ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
结束子
【问题讨论】:
-
替换前C列的原始格式是什么?它的格式是文本还是日期?