Помогите пожалуйста с формулой в VBA для Excel
О великий коллективный разум нашего Улья-Пикабу испрошаю твоей помощи и взываю к твоей мудрости. Помоги объединить следующие три функции в одну. Нужно чтобы в строке после заглавных букв русских и английских, а также после любой цифры вставал пробел. Нашёл три рабочих кода, но как их объединить в один не знаю - далёк я от этого. Вот функции:
Пробелы после цифр
Public Function separateNumbers(ByVal inText As String) As String
Static FReg As Object
If FReg Is Nothing Then
Set FReg = CreateObject("VBScript.RegExp")
FReg.Pattern = "([^ \d](?=\d)|\d(?=[^ \d]))"
FReg.Global = True
End If
separateNumbers = FReg.Replace(inText, "$1 ")
End Function
Пробелы после русских заглавных букв
Function InsSpaceRU(rng As Range) As String
Dim s As String, i As Integer, x, y
Set x = CreateObject("VBScript.RegExp"): x.Pattern = "[А-Я]": x.Global = True
s = rng.Value: Set y = x.Execute(s)
For i = 0 To y.Count - 1: s = Replace(s, y.Item(i), " " & y.Item(i)): Next
InsSpace = Application.Trim(s)
End Function
Пробелы после английских букв
Function InsSpaceENG(rng As Range) As String
Dim s As String, i As Integer, x, y
Set x = CreateObject("VBScript.RegExp"): x.Pattern = "[А-Z]": x.Global = True
s = rng.Value: Set y = x.Execute(s)
For i = 0 To y.Count - 1: s = Replace(s, y.Item(i), " " & y.Item(i)): Next
InsSpace = Application.Trim(s)
End Function
Большое спасибо!