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

Вход

Регистрация

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

 

= Мир MS Excel/Найти слово на латинском и сделать первую букву Большой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Найти слово на латинском и сделать первую букву Большой (Формулы/Formulas)
Найти слово на латинском и сделать первую букву Большой
AdwordsDirect Дата: Вторник, 30.01.2018, 14:39 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день, подскажите как будет выглядеть формула, которая найдёт в столбце А латинское слово и сделает первую букву этого слова Большой.
И если этих слов в ячейке >1 то применить такой же метод и к остальным словам (все с большой).
Изначально все буквы в ячейке маленькие.
Благодарю.
К сообщению приложен файл: 3753995.xlsx (9.2 Kb)
 
Ответить
СообщениеДобрый день, подскажите как будет выглядеть формула, которая найдёт в столбце А латинское слово и сделает первую букву этого слова Большой.
И если этих слов в ячейке >1 то применить такой же метод и к остальным словам (все с большой).
Изначально все буквы в ячейке маленькие.
Благодарю.

Автор - AdwordsDirect
Дата добавления - 30.01.2018 в 14:39
abtextime Дата: Вторник, 30.01.2018, 15:08 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Люди тут формулами чудеса творят, но такая задача так и просится в UDF (намного проще)

[vba]
Код
Public Function Big(S As String) As String

Big = ""

For i = 1 To Len(S)

If i > 1 Then A = Mid(S, i - 1, 1) Else A = " "
B = Mid(S, i, 1)

If A = " " And B >= "a" And B <= "z" Then Big = Big & UCase(B) Else Big = Big & B

Next i

End Function
[/vba]


Сообщение отредактировал abtextime - Вторник, 30.01.2018, 15:32
 
Ответить
СообщениеЛюди тут формулами чудеса творят, но такая задача так и просится в UDF (намного проще)

[vba]
Код
Public Function Big(S As String) As String

Big = ""

For i = 1 To Len(S)

If i > 1 Then A = Mid(S, i - 1, 1) Else A = " "
B = Mid(S, i, 1)

If A = " " And B >= "a" And B <= "z" Then Big = Big & UCase(B) Else Big = Big & B

Next i

End Function
[/vba]

Автор - abtextime
Дата добавления - 30.01.2018 в 15:08
sboy Дата: Вторник, 30.01.2018, 15:23 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
но такая задача так и просится в UDF

согласен
[vba]
Код
Option Compare Text
Function Propl(t As String) As String
    txt = Split(t, " ")
        For i = 0 To UBound(txt)
            If Left(txt(i), 1) Like "[a-z]" Then txt(i) = StrConv(txt(i), 3)
        Next i
    Propl = Join(txt, " ")
End Function
[/vba]
К сообщению приложен файл: 3753995.xlsm (16.6 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Вторник, 30.01.2018, 15:40
 
Ответить
Сообщение
но такая задача так и просится в UDF

согласен
[vba]
Код
Option Compare Text
Function Propl(t As String) As String
    txt = Split(t, " ")
        For i = 0 To UBound(txt)
            If Left(txt(i), 1) Like "[a-z]" Then txt(i) = StrConv(txt(i), 3)
        Next i
    Propl = Join(txt, " ")
End Function
[/vba]

Автор - sboy
Дата добавления - 30.01.2018 в 15:23
krosav4ig Дата: Вторник, 30.01.2018, 15:59 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]
К сообщению приложен файл: 1427423.xlsm (15.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 30.01.2018 в 15:59
AdwordsDirect Дата: Вторник, 30.01.2018, 15:59 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Благодарю, всем по лайку :)
 
Ответить
СообщениеБлагодарю, всем по лайку :)

Автор - AdwordsDirect
Дата добавления - 30.01.2018 в 15:59
sv2014 Дата: Среда, 31.01.2018, 06:09 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
AdwordsDirect, еще вариант функции в столбце B или кнопки test и повтор для замены в столбце A

[vba]
Код
Function uuu$(t$)
   Dim t1$
With CreateObject("VBScript.RegExp"): .Pattern = "\w"
If .test(t) Then t1 = Application.Proper(.Execute(t)(0)): uuu = .Replace(t, t1) Else uuu = t
End With
End Function
[/vba]

[vba]
Код
Sub test()
    Dim z, t$, t1$, i&: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
With CreateObject("VBScript.RegExp"): .Pattern = "\w"
   For i = 1 To UBound(z): t = z(i, 1)
    If .test(z(i, 1)) Then t1 = Application.Proper(.Execute(t)(0)): z(i, 1) = .Replace(t, t1) Else z(i, 1) = t
   Next
    Range("A1").Resize(UBound(z), UBound(z, 2)).Value = z
End With
End Sub
[/vba]
К сообщению приложен файл: example_01_02_2.xls (46.5 Kb)


Сообщение отредактировал sv2014 - Среда, 31.01.2018, 06:37
 
Ответить
СообщениеAdwordsDirect, еще вариант функции в столбце B или кнопки test и повтор для замены в столбце A

[vba]
Код
Function uuu$(t$)
   Dim t1$
With CreateObject("VBScript.RegExp"): .Pattern = "\w"
If .test(t) Then t1 = Application.Proper(.Execute(t)(0)): uuu = .Replace(t, t1) Else uuu = t
End With
End Function
[/vba]

[vba]
Код
Sub test()
    Dim z, t$, t1$, i&: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
With CreateObject("VBScript.RegExp"): .Pattern = "\w"
   For i = 1 To UBound(z): t = z(i, 1)
    If .test(z(i, 1)) Then t1 = Application.Proper(.Execute(t)(0)): z(i, 1) = .Replace(t, t1) Else z(i, 1) = t
   Next
    Range("A1").Resize(UBound(z), UBound(z, 2)).Value = z
End With
End Sub
[/vba]

Автор - sv2014
Дата добавления - 31.01.2018 в 06:09
sboy Дата: Среда, 31.01.2018, 09:45 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
sv2014, Вы отлично знаете регулярки и многие ваши функции на этом форуме у меня вызывали чувство восхищения, но в этой теме Вы упустили условие, что слов может быть больше одного.


Яндекс: 410016850021169
 
Ответить
Сообщениеsv2014, Вы отлично знаете регулярки и многие ваши функции на этом форуме у меня вызывали чувство восхищения, но в этой теме Вы упустили условие, что слов может быть больше одного.

Автор - sboy
Дата добавления - 31.01.2018 в 09:45
sv2014 Дата: Среда, 31.01.2018, 16:33 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
sboy, благодарю за уточнение,ориентировался на файл-пример создателя темы.
Добавил вариант макроса с кнопкой help для любого количества слов для замены в столбце A.
Варианты UDF всех,участвовавших в обсуждении очень интересны.

[vba]
Код
Sub help()
    Dim z, i&: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
    With CreateObject("ScriptControl"): .Language = "JScript"
        .AddCode "function g(t){return t.replace(/\b\w+\b/g,function(t1){return t1.substring(0,1).toUpperCase()+t1.substring(1).toLowerCase();});}"
        For i = 1 To UBound(z): z(i, 1) = .Run("g", z(i, 1)): Next
       Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value = z
    End With
End Sub
[/vba]
К сообщению приложен файл: 2313225.xls (49.5 Kb)
 
Ответить
Сообщениеsboy, благодарю за уточнение,ориентировался на файл-пример создателя темы.
Добавил вариант макроса с кнопкой help для любого количества слов для замены в столбце A.
Варианты UDF всех,участвовавших в обсуждении очень интересны.

[vba]
Код
Sub help()
    Dim z, i&: z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
    With CreateObject("ScriptControl"): .Language = "JScript"
        .AddCode "function g(t){return t.replace(/\b\w+\b/g,function(t1){return t1.substring(0,1).toUpperCase()+t1.substring(1).toLowerCase();});}"
        For i = 1 To UBound(z): z(i, 1) = .Run("g", z(i, 1)): Next
       Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value = z
    End With
End Sub
[/vba]

Автор - sv2014
Дата добавления - 31.01.2018 в 16:33
sboy Дата: Среда, 31.01.2018, 16:53 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
sv2014, Мне просто был интересен вариант на Regexp'е, т.к. начал его изучать.
Сам попытался сделать, но получилось очень громоздко в сравнении со штатными функциями VBA.


Яндекс: 410016850021169
 
Ответить
Сообщениеsv2014, Мне просто был интересен вариант на Regexp'е, т.к. начал его изучать.
Сам попытался сделать, но получилось очень громоздко в сравнении со штатными функциями VBA.

Автор - sboy
Дата добавления - 31.01.2018 в 16:53
sv2014 Дата: Среда, 31.01.2018, 23:42 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
sboy, добрый вечер,вот ,например вариант с RegExp функция zzz в столбце J для слов больше одного(думаю можно и короче,стараюсь на любые варианты не тратить больше 5 минут)

[vba]
Код
Function zzz$(t$)
  Dim t1$, t2$, i&: t2 = t
With CreateObject("VBScript.RegExp"): .Pattern = "\b\w+\b"
If .test(t2) = False Then zzz = t2
.Pattern = "\b(\w)(\w+)\b": .Global = True
For i = 0 To .Execute(t).Count - 1
  If .test(t2) Then t1 = .Execute(t)(i).Submatches(0): t = Replace(t, t1, UCase(t1)): zzz = t
Next
End With
End Function
[/vba]
К сообщению приложен файл: 0801797.xls (46.5 Kb)


Сообщение отредактировал sv2014 - Среда, 31.01.2018, 23:51
 
Ответить
Сообщениеsboy, добрый вечер,вот ,например вариант с RegExp функция zzz в столбце J для слов больше одного(думаю можно и короче,стараюсь на любые варианты не тратить больше 5 минут)

[vba]
Код
Function zzz$(t$)
  Dim t1$, t2$, i&: t2 = t
With CreateObject("VBScript.RegExp"): .Pattern = "\b\w+\b"
If .test(t2) = False Then zzz = t2
.Pattern = "\b(\w)(\w+)\b": .Global = True
For i = 0 To .Execute(t).Count - 1
  If .test(t2) Then t1 = .Execute(t)(i).Submatches(0): t = Replace(t, t1, UCase(t1)): zzz = t
Next
End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 31.01.2018 в 23:42
Nic70y Дата: Четверг, 01.02.2018, 08:05 | Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A1;" a";" A");" b";" B");" c";" C");" d";" D");" e";" E");" f";" F");" g";" G");" h";" H");" i";" I");" j";" J");" k";" K");" l";" L");" m";" M");" n";" N");" o";" O");" p";" P");" q";" Q");" r";" R");" s";" S");" t";" T");" u";" U");" v";" V");" w";" W");" x";" X");" y";" Y");" z";" Z"))


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A1;" a";" A");" b";" B");" c";" C");" d";" D");" e";" E");" f";" F");" g";" G");" h";" H");" i";" I");" j";" J");" k";" K");" l";" L");" m";" M");" n";" N");" o";" O");" p";" P");" q";" Q");" r";" R");" s";" S");" t";" T");" u";" U");" v";" V");" w";" W");" x";" X");" y";" Y");" z";" Z"))

Автор - Nic70y
Дата добавления - 01.02.2018 в 08:05
sboy Дата: Четверг, 01.02.2018, 09:30 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
стараюсь на любые варианты не тратить больше 5 минут

Это время у меня пока занимает только паттерн :D будем тренироваться)


Яндекс: 410016850021169
 
Ответить
Сообщение
стараюсь на любые варианты не тратить больше 5 минут

Это время у меня пока занимает только паттерн :D будем тренироваться)

Автор - sboy
Дата добавления - 01.02.2018 в 09:30
bmv98rus Дата: Четверг, 01.02.2018, 09:33 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
Nic70y, усложняем немного задачу,
камбоджийском алфавите (кхмерском) - 72 буквы, больше нет ни в одном другом. :-)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеNic70y, усложняем немного задачу,
камбоджийском алфавите (кхмерском) - 72 буквы, больше нет ни в одном другом. :-)

Автор - bmv98rus
Дата добавления - 01.02.2018 в 09:33
sboy Дата: Четверг, 01.02.2018, 09:51 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
[offtop] bmv98rus, Nic70y, вот клавиатура :D
К сообщению приложен файл: 9188409.jpg (33.3 Kb)


Яндекс: 410016850021169
 
Ответить
Сообщение[offtop] bmv98rus, Nic70y, вот клавиатура :D

Автор - sboy
Дата добавления - 01.02.2018 в 09:51
abtextime Дата: Четверг, 01.02.2018, 11:17 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
[offtop]Теперь я лучше понимаю, почему эта земля родила Пол Пота и Йенг Сари :)[/offtop]
 
Ответить
Сообщение[offtop]Теперь я лучше понимаю, почему эта земля родила Пол Пота и Йенг Сари :)[/offtop]

Автор - abtextime
Дата добавления - 01.02.2018 в 11:17
Светлый Дата: Четверг, 01.02.2018, 12:11 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1823
Репутация: 507 ±
Замечаний: 0% ±

Excel 2013, 2016
Ну и я ещё свою кривую копейку вставлю. Максимум для двух слов неоптимизированная массивная формула:
Код
=ЕСЛИОШИБКА(ЗАМЕНИТЬ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");2);1;ПРОПИСН(ПСТР(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");2);1)));A2);НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");1);1;ПРОПИСН(ПСТР(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");1);1)));A2)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеНу и я ещё свою кривую копейку вставлю. Максимум для двух слов неоптимизированная массивная формула:
Код
=ЕСЛИОШИБКА(ЗАМЕНИТЬ(ЕСЛИОШИБКА(ЗАМЕНИТЬ(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");2);1;ПРОПИСН(ПСТР(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");2);1)));A2);НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");1);1;ПРОПИСН(ПСТР(A2;НАИБОЛЬШИЙ(ЕСЛИОШИБКА((ABS(КОДСИМВ(ПСТР(A2;ЕСЛИ(ПСТР(" "&A2;СТРОКА($1:$99);1)=" ";СТРОКА($1:$99));1))-109)<14)*СТРОКА($1:$99);"");1);1)));A2)

Автор - Светлый
Дата добавления - 01.02.2018 в 12:11
bmv98rus Дата: Четверг, 01.02.2018, 16:30 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4098
Репутация: 766 ±
Замечаний: 0% ±

Excel 2013/2016
Навеяло
но в данном варианте только для одного слова и выигрывает буква с кодом старше
Код
=LOOKUP(1;1/ISNUMBER(SEARCH(" "&CHAR(ROW(A97:A122));" "&B2));SUBSTITUTE(" "&B2;" "&CHAR(ROW(A97:A122));" "&CHAR(ROW(A65:A90))))
[offtop]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеНавеяло
но в данном варианте только для одного слова и выигрывает буква с кодом старше
Код
=LOOKUP(1;1/ISNUMBER(SEARCH(" "&CHAR(ROW(A97:A122));" "&B2));SUBSTITUTE(" "&B2;" "&CHAR(ROW(A97:A122));" "&CHAR(ROW(A65:A90))))
[offtop]

Автор - bmv98rus
Дата добавления - 01.02.2018 в 16:30
sv2014 Дата: Пятница, 02.02.2018, 19:45 | Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация: 61 ±
Замечаний: 0% ±

Excel 2013
sboy, добрый вечер,чуть укоротил код функции zzz в столбце N

[vba]
Код
Function zzz1$(t$)
  Dim t1$, t2$, i&: t2 = t
With CreateObject("VBScript.RegExp"): .Pattern = "\b\w+\b": .Global = True
If .test(t2) = False Then zzz1 = t2
For i = 0 To .Execute(t).Count - 1: t1 = Left(.Execute(t)(i), 1): t = Replace(t, t1, UCase(t1)): zzz1 = t: Next
End With
End Function
[/vba]
.
К сообщению приложен файл: 7889189.xls (45.5 Kb)


Сообщение отредактировал sv2014 - Пятница, 02.02.2018, 23:17
 
Ответить
Сообщениеsboy, добрый вечер,чуть укоротил код функции zzz в столбце N

[vba]
Код
Function zzz1$(t$)
  Dim t1$, t2$, i&: t2 = t
With CreateObject("VBScript.RegExp"): .Pattern = "\b\w+\b": .Global = True
If .test(t2) = False Then zzz1 = t2
For i = 0 To .Execute(t).Count - 1: t1 = Left(.Execute(t)(i), 1): t = Replace(t, t1, UCase(t1)): zzz1 = t: Next
End With
End Function
[/vba]
.

Автор - sv2014
Дата добавления - 02.02.2018 в 19:45
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Найти слово на латинском и сделать первую букву Большой (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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