运算符后面没跟一个字符

时间:2017-02-22 11:29:21

标签: excel vba operator-keyword

我在Excel中使用find和replace函数以及vba代码。我想替换所有字符串,如" / 15" by" .15"但只有在" / 15"没有任何其他字符。我需要一个操作员吗?

例如,如果我替换所有" / 15"如果后跟其他字符,它也会替换此字符串。

10/15/15 - > 15年10月15日

但我想要的是

10/15/15 - > 10 / 15.15

干杯

2 个答案:

答案 0 :(得分:0)

你可以使用正则表达式,网上有很多东西。

或者像VBA这样的东西,没有真正需要的a2,可以抓住a1的最后一个,但只是为了向你展示本地窗口中数组的差异。

Function test(strInput As String)

Dim a1() As String
Dim a2() As String

a1 = Split(strInput, "/")
a2 = a1

ReDim Preserve a2(UBound(a1) - 1)

test = Join(a2, "/") & "." & a1(UBound(a1))

End Function

或者可以使用公式

完成

=SUBSTITUTE(A1,"/",".",(LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))

答案 1 :(得分:0)

我认为你应该使用正确的功能,以避免更换" / 15"在字符串的中间。

Public Function ReplaceRight(strInput As String) As String
    If Right(strInput, 3) = "/15" Then
        ReplaceRight = Left(strInput, Len(strInput) - 3) & ".15"
    Else
        ReplaceRight = strInput
    End If
End Function

使用Excel公式:

=IF(RIGHT(F215,3)="/15",LEFT(F215,LEN(F215)-3)&".15",F215)