2

На самом деле я хочу разделить символы и цифры в одной ячейке в Excel 2010

Моя клетка выглядит так: test03ok
Другая ячейка может быть: 34test

Я хочу отделить числа от букв, поэтому мой желаемый результат из приведенных выше 2 примеров будет

тест 03 хорошо
34 тест

Можно ли это сделать в Excel без VBa или мне нужно использовать VBa?

1 ответ1

1

Вот функция на основе регулярных выражений, которая должна сделать свое дело. Вставьте его в стандартный модуль, который вы вставили из меню редактора VBA. Вы можете получить доступ к редактору, щелкнув Visual Basic на вкладке « Разработчик » на ленте. Затем выберите Вставить -> Стандартный модуль в меню.

Вам также нужно будет установить ссылку на библиотеку Microsoft VBScript Regular Expressions 5.5 . Для этого нажмите Сервис -> Ссылки в меню редактора. Прокрутите вниз, чтобы найти список и отметьте его, чтобы установить ссылку.

Эксперты Regex хотели бы улучшить шаблон, который я использовал. Он вставляет лишние пробелы в некоторые строки, от которых я успешно избавился, используя функцию TRIM рабочего листа.

Function ReNSpace(text As String)
    Dim regex As New RegExp
    regex.Pattern = "(?:(\D+)?(\d+))|(?:(\D+)(\d+)?)"
    regex.Global = True
    regex.IgnoreCase = True
    ' Test if a match is found
    If regex.Test(text) = True Then
        ReNSpace = WorksheetFunction.Trim(regex.Replace(text, "$1 $2 $3 $4"))
    Else
        ReNSpace = CVErr(xlErrValue)
    End If
    Set regex = Nothing
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .