Войти

Показать полную графическую версию : [решено] Как сделать первую букву в ячейке заглавной?


Avatar-Lion
10-09-2024, 19:39
Перерыл все настройки Excel, но так и не смог понять как сделать так, чтобы в колонке №2 (В) первая буква автоматом становилась заглавной. Самое смешное, что в Word'е есть опция "Делать первую букву в ячейке таблицы заглавной", но вот в Excel'е в аналогичном месте (настройки правописания) этот пункт попросту отсутствует. Дичь какая-то...

Гугл в ответ на соответствующий запрос выдает только всяческие формулы, которые применяются к уже заполненным таблицам, а мне нужно настроить пустую таблицу, так сказать, на будущее.

NickM
10-09-2024, 20:12
Изменение регистра текста (https://support.microsoft.com/ru-ru/office/%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0-01481046-0fa7-4f3b-a693-496795a7a44d)
В отличие от Microsoft Word, в Microsoft Excel нет кнопки Изменить регистр для изменения прописной буквы. Однако можно использовать функции UPPER, LOWER или PROPER, чтобы автоматически изменить регистр существующего текста на верхний, нижний или правильный регистр. Функции — это просто встроенные формулы, предназначенные для выполнения определенных задач, в данном случае преобразования текстового регистра.

a_axe
10-09-2024, 20:15
Avatar-Lion, стандартными средствами такое в лоб не получить, а вы не хотите поместить в VBA редакторе в код нужного листа код наподобие такого:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Me.Columns.Item(2)) Is Nothing Then
Debug.Print VarType(Intersect(Target, Me.Columns.Item(2)).Cells(1, 1).Value)
If VarType(Intersect(Target, Me.Columns.Item(2)).Cells(1, 1).Value) = 8 Then
Intersect(Target, Me.Columns.Item(2)).Cells(1, 1).Value = UCase(Left(Intersect(Target, Me.Columns.Item(2)).Cells(1, 1).Value, 1)) & Mid(Intersect(Target, Me.Columns.Item(2)).Cells(1, 1).Value, 2)
End If

End If
End Sub
Создавать регулярку большого смысла не вижу, скорее всего это будет дольше по времени.

Avatar-Lion
10-09-2024, 21:39
NickM, Нет, это не годится, я же сказал - для пустой таблицы.

a_axe, О, прикольно. Вроде работает. Спасибо большое.




© OSzone.net 2001-2012