【发布时间】:2018-08-01 02:51:25
【问题描述】:
通常在将 PDF 转换为 excel 文档时,某些值会失真且不准确。准确地说,我的“日期”列中的某些单元格在语法上不包含正确的月份。例如,不是“XX Jun”,而是“XX Iun”,其中“XX”代表一天(数字)。
我已经使用了查找和替换功能,它几乎可以完美运行,唯一需要注意的是,替换后,我的单元格被格式化为我希望它们保持不变的日期文本。
因此,如果可能的话,我希望解决的问题是使用查找和替换功能,而不是通过修改我的 VBA 代码将我的单元格格式化为替换后的日期。
Sub Macro2()
Dim rng As Range
Set rng = Application.InputBox("Select Date Column", "Obtain Range", Type:=8)
rng.Replace What:="ian", Replacement:="Jan"
rng.Replace What:="lan", Replacement:="Jan"
rng.Replace What:="iun", Replacement:="Jun"
rng.Replace What:="lun", Replacement:="Jun"
End Sub
为清楚起见,一些屏幕截图显示了我执行代码时发生的情况。
从这里:
到这里:
【问题讨论】:
-
rng.NumberFormat = "@"在替换任何东西之前 -
@TimWilliams 我认为这与手动将我的日期列格式化为“文本”然后使用查找和替换工具是一样的。如果是这样,我已经尝试过了。
-
为替换添加前缀
'。例如rng.Replace What:="ian", Replacement:="'Jan" -
@Jeeped 与以月份开头的单元格完美配合,然后是日期(Month Day)。倒置的单元格则不然。