是否有人解决Selection.Replace问题?

时间:2019-04-05 12:34:40

标签: excel vba

我在VBA中的替换功能有问题

表中的一列中有一些值,例如10,5m或15,354m

我想用一个简单的vba命令替换它 像这样

Columns("E:E").Select
    Selection.Replace What:="m", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True

但是我的值是105或15354

当我在没有VBA的excel中使用内置命令时,它的工作就应该如此。

我该如何解决?

这是一个带有导入txt文件的测试文件,我在其中收集数据 https://www.dropbox.com/sh/wtn83rs83dx455s/AABH7MmHKQxVJA6Tx7KVwM54a?dl=0

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

该值实际上不是10,5m或15,354m,而是10,5和15,354 这是一个格式化的东西,即使它不是值的一部分,它也会显示“ m”。 原因是您的导入宏设置了范围格式:

Range("E:E").NumberFormat = "#0.0""m"""

将其更改为:

Range("E:E").NumberFormat = "#0.0"

..“ m”消失了。

答案 1 :(得分:0)

我发现了问题,首先我必须将“,”替换为“。”。之后,我可以将“ m”替换为“”。

然后我可以设置正确的格式“#0.0”“ m”“”

was-validated

再见