Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Как сделать первую букву в ячейке заглавной? (http://forum.oszone.net/showthread.php?t=355675)

Avatar-Lion 10-09-2024 19:39 3030769

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

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

NickM 10-09-2024 20:12 3030771

Изменение регистра текста
Цитата:

В отличие от Microsoft Word, в Microsoft Excel нет кнопки Изменить регистр для изменения прописной буквы. Однако можно использовать функции UPPER, LOWER или PROPER, чтобы автоматически изменить регистр существующего текста на верхний, нижний или правильный регистр. Функции — это просто встроенные формулы, предназначенные для выполнения определенных задач, в данном случае преобразования текстового регистра.

a_axe 10-09-2024 20:15 3030772

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 3030776

NickM, Нет, это не годится, я же сказал - для пустой таблицы.

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


Время: 04:08.

Время: 04:08.
© OSzone.net 2001-