vba replace in string code example

Example 1: vba replace

' Replace into string
Sub TestMe()
    Debug.Print Replace("a,B,c,d,e", ",", "-")         'a,B,c,d,e -> a-B-c-d-e
    Debug.Print Replace("Mr XXX", "XXX", "Bond")       'Mr XXX -> Mr Bond
    Debug.Print Replace("a,b,c,d,e", ",", "-", 3, 2)   'a,B,c,d,e -> b-c-d,e
End Sub

Example 2: excel vba replaceall in string

'VBA function to make multiple replacements in a template string:

Function TemplateReplace$(template$, ParamArray replacements())
    Dim c&, s$, t$, e
    s = template
    For Each e In replacements
        c = c + 1
        t = "|%" & c & "|"
        If InStrB(e, "~~") Then e = Replace(e, "~~", Chr(34))
        If InStrB(s, t) Then s = Replace(s, t, e)
    Next
    TemplateReplace = s
End Function

'--------------------------------------------------------------------

Const TEMPLATE = "SELECT * FROM |%1| WHERE (survived = |%2|)"
MsgBox TemplateReplace$(TEMPLATE, "titanic", "~~true~~")

'Displays: SELECT * FROM titanic WHERE (survived = "true")

Tags:

Vb Example