Я знаю, это должно звучать так, будто я понятия не имею, что я делаю. В старых версиях Excel была функция страницы / листа, которую можно было настроить таким образом, чтобы все поля в электронной таблице Excel автоматически преобразовывали ввод (при вводе) из строчных букв в верхний регистр независимо от того, как они были введены изначально. Кто-нибудь знает функцию / как это установить без необходимости переходить в «макро-режим» или использовать "VB" ...???

1 ответ1

0

Вы получили комментарий о том, как поместить в верхний регистр эквивалент введенного ввода в другую ячейку с формулой. Чтобы заменить значение в самой ячейке, вам потребуется некоторая форма макроса события 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, чтобы вернуться на рабочий лист. Все, что введено в этот диапазон, будет преобразовано в его заглавный эквивалент.

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