Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменить регистр ФИО в ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменить регистр ФИО в ячейки (Макросы/Sub)
Изменить регистр ФИО в ячейки
doberman Дата: Среда, 11.04.2018, 20:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Уважаемые знатоки, помогите пожалуйста решить задачку, если она вообще решаема.
В ячейки текст из нескольких предложений, среди предложений попадается ФИО в виде ААААА А.А. нужен макрос или формула для изменения регистра ФИО в вид Ааааа А.А.
К сообщению приложен файл: 4940101.xlsx(8.4 Kb)


Сообщение отредактировал doberman - Среда, 11.04.2018, 20:38
 
Ответить
СообщениеЗдравствуйте! Уважаемые знатоки, помогите пожалуйста решить задачку, если она вообще решаема.
В ячейки текст из нескольких предложений, среди предложений попадается ФИО в виде ААААА А.А. нужен макрос или формула для изменения регистра ФИО в вид Ааааа А.А.

Автор - doberman
Дата добавления - 11.04.2018 в 20:38
Manyasha Дата: Среда, 11.04.2018, 21:22 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2133
Репутация: 867 ±
Замечаний: 0% ±

Excel 2010, 2016
doberman, здравствуйте, посмотрите такой вариант:
[vba]
Код
Function fio(txt)
    Dim tmp, spl, m
    With CreateObject("VBScript.RegExp")
        .Global = True: .ignoreCase = False
        .Pattern = "([А-ЯЁ]+\s[А-ЯЁ]\.[А-ЯЁ]\.)"
        Set tmp = .Execute(txt)
        For Each m In tmp
            spl = Split(m, " ")
            txt = Replace(txt, m, StrConv(spl(0), 3) & " " & spl(1))
        Next m
        fio = txt
    End With
End Function
[/vba]
К сообщению приложен файл: 4940101-1.xlsm(15.0 Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеdoberman, здравствуйте, посмотрите такой вариант:
[vba]
Код
Function fio(txt)
    Dim tmp, spl, m
    With CreateObject("VBScript.RegExp")
        .Global = True: .ignoreCase = False
        .Pattern = "([А-ЯЁ]+\s[А-ЯЁ]\.[А-ЯЁ]\.)"
        Set tmp = .Execute(txt)
        For Each m In tmp
            spl = Split(m, " ")
            txt = Replace(txt, m, StrConv(spl(0), 3) & " " & spl(1))
        Next m
        fio = txt
    End With
End Function
[/vba]

Автор - Manyasha
Дата добавления - 11.04.2018 в 21:22
Karataev Дата: Среда, 11.04.2018, 21:23 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1210
Репутация: 457 ±
Замечаний: 0% ±

Excel
Предполагается, что данные начинаются со строки 1 (то есть нет шапки таблицы).
В приложенном файле макроса нет. Файл я выложил, чтобы показать для какого листа написан макрос.
К сообщению приложен файл: 4940101_kar.xlsx(8.6 Kb)


Киви-кошелек: 9166309108
Яндекс-деньги: 410014131888288
 
Ответить
СообщениеПредполагается, что данные начинаются со строки 1 (то есть нет шапки таблицы).
В приложенном файле макроса нет. Файл я выложил, чтобы показать для какого листа написан макрос.

Автор - Karataev
Дата добавления - 11.04.2018 в 21:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменить регистр ФИО в ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!