29

Помогите пожалуйста с формулой в 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


Большое спасибо!

MS, Libreoffice & Google docs

782 поста15K подписчиков

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества