我在Excel中有一个表,其中一个列包含类型的字符串:125j,0j,12j等。
我希望使用VBA将数字的值(在此列中)替换为数字(即我想删除" j")。这就是我所拥有的:
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
reg.IgnoreCase = True
reg.Pattern = "^[0-9]+"
If reg.test(Cells(i, 4).Value) Then
Cells(i, 4).Value = reg.Execute(Cells(i, 4).Value)
End If
但它不起作用,有人知道如何纠正它或从另一个命令获得相同的结果吗?
谢谢
答案 0 :(得分:1)
.Execute
方法的结果是MatchCollection
个对象。您可以明确地使用它:
Dim reg As Object
Dim allMatches As Object
Set reg = CreateObject("VBScript.RegExp")
reg.IgnoreCase = True
reg.Pattern = "^[0-9]+"
If reg.test(cells(i, 4).Value) Then
Set allMatches = reg.Execute(cells(i, 4).Value)
cells(i, 4).Value = allMatches(0)
End If
或暗示:
cells(i, 4).Value = reg.Execute(cells(i, 4).Value)(0)