Dim rx As New regExp: rx.Pattern = "\d+": rx.Global = True Dim txt As String: txt = "9 Hühner und 12 Schweine" Dim mc As MatchCollection: Set mc = rx.execute(txt) 'von Hinten nach vorne iterieren, damit die Startpunkte (firstIndex) ihre Gültigkeit behalten Dim i As Integer: For i = mc.count - 1 To 0 Step -1 Dim m As Match: Set m = mc.item(i) txt = substrReplace(txt, m.value ^ 2, m.firstIndex, m.length) Next i Debug.Print txt 'Ausgabe: '81 Hühner und 144 Schweine