Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用vba替换excel中的特定字符_Vba_Excel - Fatal编程技术网

用vba替换excel中的特定字符

用vba替换excel中的特定字符,vba,excel,Vba,Excel,我在vba中获得了以下代码: 我想在我的行中查找并替换这些值。 例如,如果它是我的前两个字符,我想将其替换为+36,但它不起作用,它会替换中间的字符。仅使用替换功能无法做到这一点 从: 替换(string1、find、replacement、[start、[count、[compare]]]) 参数count指定应进行多少次替换,而不是替换应在字符串下方多远处生效 相反,可以这样做: If InStr(Range("T" & i), "36") = 1 Then Range("

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

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

仅使用
替换
功能无法做到这一点

从:

替换(string1、find、replacement、[start、[count、[compare]]])

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

相反,可以这样做:

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

首先你把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)

请将代码以文本形式发布,而不是以图像形式发布