请找人解决选择.替换问题



我对 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

感谢您的帮助

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

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

将其更改为:

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

.."m"不见了。

我发现了问题,首先我必须用"."替换",",然后我可以将"m"替换为"。

之后我可以设置正确的格式"#0.0"m"">

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

再见

最新更新