Я знаю, это должно звучать так, будто я понятия не имею, что я делаю. В старых версиях Excel была функция страницы / листа, которую можно было настроить таким образом, чтобы все поля в электронной таблице Excel автоматически преобразовывали ввод (при вводе) из строчных букв в верхний регистр независимо от того, как они были введены изначально. Кто-нибудь знает функцию / как это установить без необходимости переходить в «макро-режим» или использовать "VB" ...???
1 ответ
Вы получили комментарий о том, как поместить в верхний регистр эквивалент введенного ввода в другую ячейку с формулой. Чтобы заменить значение в самой ячейке, вам потребуется некоторая форма макроса события VBA. AFAIK, никогда не было автоматического преобразования в верхнем регистре, но я могу вспомнить пару продуктов баз данных, которые делали, и ввод на основе форм мог бы делать то же самое (посредством анализа текста VBA).
Если вы хотите решение VBA, щелкните правой кнопкой мыши на вкладке имени листа и выберите « View Code
. Когда VBE откроется, вставьте следующее в панель под названием что-то вроде Book1 - Sheet1 (Код) .
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:M10")) Is Nothing Then
On Error GoTo Fìn
Application.EnableEvents = False
Dim c As Range
For Each c In Intersect(Target, Range("C2:M10"))
c = UCase(c.Value2)
Next c
End If
Fìn:
Application.EnableEvents = True
End Sub
Вы не предоставили никаких подробностей, поэтому я представил диапазон ввода как C2:M10. Вы должны быть в состоянии изменить эту часть для более близкого приближения диапазона, в котором значения являются типами или вставлены в.
Если вы считаете, что у вас есть правильный диапазон ввода, нажмите Alt+Q, чтобы вернуться на рабочий лист. Все, что введено в этот диапазон, будет преобразовано в его заглавный эквивалент.