excel - 如何对包含具有一般格式的日期的列进行查找和替换?
问题描述
我一直在尝试用 VBA 将我的 excel 电子表格中的所有“-”替换为“/”,但它没有按照我想要的方式工作。请发送帮助:')
问题:包含格式为 00-00-0000 的日期的单元格更改为 00.00.0000,而不是所需的 00/00/0000 格式。即使我使用 Excel 查找和替换功能手动执行此操作,结果也是相同的。
有关日期单元格的一些信息:
- 它们采用“通用”格式,并在代码运行后更改为“日期”格式(有些仍保持通用)
代码:
Sub FindReplace()
Dim X, Y As Range
Set X = Range("A2").CurrentRegion
For Each Y In X.Cells
Y = Replace(Y, "-", "/")
Next Y
End Sub
感谢您阅读:)
解决方案
假设您的原始数据也采用 DD.MM.YYYY 格式,我编写了以下子例程:
Sub FindReplace()
Dim RngRange01 As Range
Dim RngTarget As Range
Set RngRange01 = Range("A2").CurrentRegion
For Each RngTarget In RngRange01
RngTarget.Value = DateSerial(Right(RngTarget.Value, 4), Mid(RngTarget.Value, 4, 2), Left(RngTarget.Value, 2))
Next RngTarget
End Sub
我已经在一个用点而不是斜线写的日期范围内对其进行了测试,它似乎对我有用。
额外提示:我不会使用单个字母来标识变量。很难替换它们并跟踪它们。至少 3 个您通常在其余代码中找不到的字母要好得多。类似xyz
orsss
或的东西qwe
。Rng
如果您添加一个小标签来记住它们是什么类型的变量(例如范围或Byt
字节或Dbl
双精度),那就更好了。
推荐阅读
- r - if_else 与have_labelled 列失败,因为错误的类
- javascript - 如何摆脱 v-on 处理程序中的错误:“TypeError:_vm.myFcn 不是函数”?
- javascript - 当我从下拉按钮中选择一个值时,其他值也会出现
- sas - SAS 中的 SUM() 来自同一个表 where 语句
- reactjs - NextJS getStaticProps 在开发重建时未更新
- ios - 如何在 Swift 本机代码中从 Flutter 调用参数?
- antlr - antlr4:访问者中的条件代码生成处理
- android - BLE <-> Android、iOS 设备通信是否需要绑定?
- python - 为什么str.removesuffix和str.removeprefix要复制
- flyway - “installed_on”列中的空值违反非空约束