【发布时间】:2013-11-15 09:06:06
【问题描述】:
' Try to format the dates
Range("N:N").Select
Selection.NumberFormat = "dd/MM/yyyy"
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
使用此代码尝试解决一些我无法控制的下载数据问题。表格在存储为文本的日期前有一个空格。例如“ 2013 年 4 月 11 日”
在 Excel 中进行手动查找和替换可解决问题,但我希望之后透视数据和分组,当我尝试使用 VBA 执行此操作时,它会做两件事...
它不会将所有记录都识别为日期。即使单元格格式已更改,有些仍保持为常规。这意味着用户必须使用 F2+Enter 遍历每一行,然后在数据透视表中进行大量操作。
它正在反转日/月。即原始数据是 01/10/2013(10 月 1 日),并将其转换为 1 月 10 日。
是否有修复查找/替换或循环修复单元格格式的方法。
【问题讨论】:
-
你试过用
TRIM()代替吗? -
我是否必须添加然后剪切一列才能做到这一点?我知道我可以添加一列。执行 Trim() 并粘贴值并格式化为日期。然后剪切原始列..只是看看是否有更简单的方法。
-
@SIEDASC 我添加了一个 VBA 解决方案,它应该适用于您的情况。