用vba替换excel中的特定字符

时间:2017-11-20 12:42:04

标签: excel vba excel-vba

我在vba中获得了以下代码: Vba code

我想在我的行中找到并替换这些值。 例如,如果它是我的前两个角色,我想将36替换为+36,但它只是不起作用,它会替换中间的角色。

2 个答案:

答案 0 :(得分:1)

单独使用Replace功能无法完成此操作。

来自docs

  

替换(string1,查找,替换,[开始,[计数,[比较]]])

参数count指定应该进行多少替换,而不是替换应该在字符串下方生效多远。

相反,请使用以下内容:

If InStr(Range("T" & i), "36") = 1 Then
    Range("T" & 1) = Replace(Range("T" & 1), "36", "+36")
End If

答案 1 :(得分:0)

好吧,首先你将06改为36而36改为+36,我希望你知道你在做什么。此外,如果您的T列中有文本值,并且只想将36更改为+36,只有前36个是前两个字符,您可以使用:

If Left(Range("T" & i), 2) = "36" Then Range("T" & i) = "+36" & Right(Range("T" & i), Len(Range("T" & i)) - 2)