У меня есть несколько элементов текста в Excel, и я хотел бы использовать первую букву каждого слова с заглавной буквы. Тем не менее, большая часть текста содержит фразу «IT», и с использованием текущих методов написания заглавных букв (PROPER) она заменяется на «It». Есть ли способ сделать заглавной только первую букву каждого слова без использования DE заглавных букв в каждом слове?
Сделать первую букву слова заглавной, не изменяя в настоящее время Заглавная
comment
Я хотел бы сделать заглавной первую букву КАЖДОГО слова в каждой ячейке
- person dojogeorge   schedule 20.11.2012
comment
Замена текущих значений или в новой ячейке?
- person brettdj   schedule 20.11.2012
Ответы (4)
Вот способ VBA, добавьте его в модуль и =PrefixCaps("A1")
Public Function PrefixCaps(value As String) As String
Dim Words() As String: Words = Split(value, " ")
Dim i As Long
For i = 0 To UBound(Words)
Mid$(Words(i), 1, 1) = UCase$(Mid$(Words(i), 1, 1))
Next
PrefixCaps = Join(Words, " ")
End Function
person
Alex K.
schedule
20.11.2012
+1 для LHS
Mid$
. Я предлагаю вам добавить TRIM
к вашему Split
, чтобы учесть непреднамеренные пробелы.
- person brettdj; 20.11.2012
Использовали веб-сайт http://www.textfixer.com/tools/capitalize-sentences.php и вставил все это вместо
person
dojogeorge
schedule
20.11.2012
Все это было немного сложно, но я обнаружил, что если ваша электронная таблица довольно проста, вы можете скопировать и вставить ее в слово и использовать ее функции редактирования, а затем скопировать и вставить ее обратно в Excel. Работал довольно хорошо для меня.
person
Magic Hayes
schedule
19.12.2012
Исправляет двойные пробелы в тексте:
Public Function PrefixCaps(value As String) As String
Dim Words() As String: Words = Split(value, " ")
Dim i As Long
For i = 0 To UBound(Words)
If Len(Words(i)) > 0 Then
Mid$(Words(i), 1, 1) = UCase$(Mid$(Words(i), 1, 1))
End If
Next
PrefixCaps = Join(Words, " ")
End Function`
person
RatherB
schedule
06.05.2021