2

Недавно я наткнулся на excel с ячейками, заполненными небольшими кейсами. Есть ли какой-нибудь простой способ или макрос, чтобы использовать каждое слово в excel?

Например, рассмотрим изображение ниже:

До преобразования

После преобразования это должно выглядеть примерно так:

После преобразования

Мне нужно, чтобы каждая ячейка [вся ячейка] была написана заглавной буквой Excel, а первая буква была заглавнойлюбой простой способ сделать это?

5 ответов5

6

Нет необходимости использовать VBA для изменения каких-либо дел. Конечно, есть функции VBA, которые делают это, как показывают другие ответы, но, если вы уже что-то не пишете в VBA, это излишне.

Следующие формулы будут преобразовывать случаи для вас.

=UPPER(A1) преобразует все буквы в верхний регистр
=LOWER(A1) преобразует все буквы в строчные
=PROPER(A1) преобразует первую букву каждого слова в верхний регистр и каждую другую букву в нижний регистр
("Слово" - это последовательная строка букв. Любая не буква считается концом слова.)

Вот примеры результатов:

Ввод: Aaa bbb-ccc/ddd=eee9fff"ggg\hhh{iii(jjj
Верх: AAA BBB-CCC/DDD=EEE9FFF"GGG\HHH{III(JJJ
Ниже: aaa bbb-ccc/ddd=eee9fff"ggg\hhh{iii(jjj
Правильно: Aaa Bbb-Ccc/Ddd=Eee9Fff"Ggg\Hhh{Iii(Jjj

Если вы хотите использовать только первую букву в ячейке, используйте UPPER с некоторыми другими функциями:
=UPPER(LEFT(A1)) & MID(A1,2,LEN(A1))

2

I need to capitalize every cell in excel with first letter as capital?any easy way to accomplish it?

Да, используйте этот макрос. Не забудьте сначала сделать резервную копию файла!

Sub uppercase()

For Each cell In Application.ActiveSheet.UsedRange
    If (cell.Value <> "") Then
         cell.Value = UCase(cell.Value) ' this will make the entire cell upper case
    End If
Next

End Sub

Чтобы сделать первую букву заглавной буквы каждой ячейки, вы будете использовать

cell.Value = UCase(Left(cell.Value, 1)) & Right(cell.Value, Len(cell.Value) - 1)               'This will make the first word in the cell upper case

Чтобы сделать это заглавным, используйте

Sub titleCase()

For Each cell In Application.ActiveSheet.UsedRange
    If (cell.Value <> "") Then
         cell.Value = TitleCase(cell.Value) ' this will make the entire cell upper case
    End If
Next

End Sub


Function TitleCase(s) As String
a = Split(s, " ")

For i = 0 To UBound(a)
    If (Trim(a(i)) <> "") Then
      TitleCase = TitleCase & UCase(Left(a(i), 1)) & Right(a(i), Len(a(i)) - 1) & " "
    End If
Next
TitleCase = Trim(TitleCase)
End Function

Как добавить VBA в MS Office?

2

Вот простой макрос для преобразования текста в диапазоне во все символы CAPS. Измените диапазон в 3-й строке на диапазон, который вы хотите преобразовать.

Sub Uppercase()
   ' Loop to cycle through each cell in the specified range.
   For Each x In Range("A1:A25")
      ' Change the text in the range to uppercase letters.
      x.Value = UCase(x.Value)
   Next
End Sub
0

Вы также можете скопировать необходимые данные в документ Microsoft Word и изменить регистр букв, используя кнопку "Aa" на вкладке "Главная"> "Шрифт". Затем просто скопируйте и вставьте обратно в Excel.

-2

Используйте LibreOffice! Вы можете открывать, изменять и сохранять файлы Excel. 1. Выберите ячейки, которые вы хотите изменить 2. Выберите «Формат»> «Текст»> «Изменить регистр»>.

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