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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменить регистр ФИО в ячейки (Макросы/Sub)
Изменить регистр ФИО в ячейки
doberman Дата: Среда, 11.04.2018, 20:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 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)


ЯД: 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
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

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

Автор - Karataev
Дата добавления - 11.04.2018 в 21:23
doberman Дата: Четверг, 24.05.2018, 09:00 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha,
Можите пожалуйста подправить следующее. В тексте иногда попадаются кавычки в них одно или два слова в верхнем регисре т.е. так
«СЛОВО»
необходимо убрать кавычки и привести к нижнему регистру т.е. получить
слово
 
Ответить
СообщениеManyasha,
Можите пожалуйста подправить следующее. В тексте иногда попадаются кавычки в них одно или два слова в верхнем регисре т.е. так
«СЛОВО»
необходимо убрать кавычки и привести к нижнему регистру т.е. получить
слово

Автор - doberman
Дата добавления - 24.05.2018 в 09:00
_Boroda_ Дата: Четверг, 24.05.2018, 09:07 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
- Прочитайте Правила форума
- п.4 Правил форума: один вопрос - одна тема
- Приложите файл в формате Excel размером до 100кб согласно п.3 Правил форума

И да, будете ждать именно Марину? Остальным не беспокоиться?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение- Прочитайте Правила форума
- п.4 Правил форума: один вопрос - одна тема
- Приложите файл в формате Excel размером до 100кб согласно п.3 Правил форума

И да, будете ждать именно Марину? Остальным не беспокоиться?

Автор - _Boroda_
Дата добавления - 24.05.2018 в 09:07
sv2014 Дата: Понедельник, 28.05.2018, 12:01 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
doberman, еще вариант функции в A2

[vba]
Код
Function bbb$(t$)
Dim i&
With CreateObject("VBScript.RegExp"): .Pattern = "[А-ЯЁ]+ [А-ЯЁ]\.[А-ЯЁ]\.": .Global = True
   For i = 0 To .Execute(t).Count - 1: bbb = .Replace(t, Application.Proper(.Execute(t)(i))): Next
  End With
End Function
[/vba]

К сообщению приложен файл: example_31_05_2.xls (31.5 Kb)
 
Ответить
Сообщениеdoberman, еще вариант функции в A2

[vba]
Код
Function bbb$(t$)
Dim i&
With CreateObject("VBScript.RegExp"): .Pattern = "[А-ЯЁ]+ [А-ЯЁ]\.[А-ЯЁ]\.": .Global = True
   For i = 0 To .Execute(t).Count - 1: bbb = .Replace(t, Application.Proper(.Execute(t)(i))): Next
  End With
End Function
[/vba]


Автор - sv2014
Дата добавления - 28.05.2018 в 12:01
sv2014 Дата: Понедельник, 28.05.2018, 16:14 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
doberman, в ответ на сообщение №4 вариант функции в A2

Удалено администрацией. См. замечание модератора выше
 
Ответить
Сообщениеdoberman, в ответ на сообщение №4 вариант функции в A2

Удалено администрацией. См. замечание модератора выше

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

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