替换字符串变量(VBA)中的多个字符

yur*_*uro 5 excel vba excel-vba str-replace

如何在字符串变量中替换多个东西?

这是我在vba中的示例函数:

Private Function ExampleFunc(ByVal unitNr$) As String
    If InStr(unitNr, "OE") > 0 Then
        unitNr = Replace(unitNr, "OE", "")
        unitNr = Replace(unitNr, ";", "")
    End If
...
End Function
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

Gar*_*ent 8

您可以使用数组并循环其元素:

Sub MAIN()
    Dim s As String

    s = "123456qwerty"
    junk = Array("q", "w", "e", "r", "t", "y")

    For Each a In junk
        s = Replace(s, a, "")
    Next a

    MsgBox s
End Sub
Run Code Online (Sandbox Code Playgroud)

垃圾的每个元素可以是子字符串或单个字符.


小智 5

如果只是几个字符,那么我会选择 Marco,但使用 VBA:

unitNr = Replace(Replace(unitNr, "OE", ""), ";", "")
Run Code Online (Sandbox Code Playgroud)