如何修复我的公式以替换时间表示法中的“P”(不应该出现的位置)?

问题描述 投票:0回答:1

我有一个简单的查询可以纠正不正确的写入时间: 有时有人在应该是 ':' 的地方输入 '"',因此给定时间可能会变成 13"34 而不是 13:34。

也许是因为手指粗。所以我想,我让脚本纠正“:”键周围所有错误输入的字符,包括“P”和“L”。

Sub replace()
Dim ws As Worksheet

Set ws = Worksheets("Hoofdbestand")

With ws

aantalrijen = ws.Range("A1", ws.Range("A1").End(xlDown)).Cells.Count
With .Range("D2:D" & aantalrijen)
'.replace " PM", ""
.replace ";", ":"
.replace "'", ":"
.replace """", ":"
.replace ">", ":"
.replace ".", ":"
.replace "[", ":"
.replace "L", ":"
.replace Chr(80), ":"

End With

End With

End sub

但是,我遇到了一个问题。在表中,我有 15:49、13:30 等时间。 里面没有任何像“PM”这样的东西:

但是当我执行查询时,这就是结果:

显然,单元格值中存在 PM 字符串,尽管使用搜索没有找到“P”。

有什么办法可以解决这个问题吗?

excel vba time replace
1个回答
0
投票

我能想到的最简单的选择就是你已经开始做的事情:

.替换“PM”、“MM”

.

.

.(此处为您的有效替代品)

.

.

.替换“MM”、“PM”

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.