我在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
感谢您的帮助
答案 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
再见