Управление вводом данных в ячейку (Microsoft Excel)
Мюррею нужен способ контролировать ввод данных в ячейку B1. Если ячейка A1 содержит заглавную букву «A», то пользователь должен иметь возможность вводить данные в ячейку B1. Если ячейка A1 содержит что-либо, кроме заглавной буквы «A», то в ячейку B1 нельзя вводить данные, а в ячейке B1 должно отображаться «N / A» (не значение ошибки № N / A, а буквы «N / A»). «).
Есть два способа сделать это. Один из способов — использовать макрос, который проверяет, содержит ли A1 «A» или нет. Если это так, то макрос сохраняет все, что находится в ячейке B1, если для B1 ранее не было установлено значение «N / A». (Если да, то B1 очищается.) Если A1 не содержит «A», то все, что находится в ячейке B1, заменяется символами «N / A».
Private Sub Worksheet_Change(ByVal Target As Range) Dim sTemp As String If Target.Address(False, False) = "A1" Or _ Target.Address(False, False_ = "B1" Then 'Store B1's text in variable sTemp = Range("B1").Text Application.EnableEvents = False If Range("A1").Text = "A" Then If sTemp = "N/A" Then Range("B1") = "" Else Range("B1") = "N/A" End If Application.EnableEvents = True End If End Sub
Обратите внимание, что это всего лишь один макро-подход; есть много других подходов, которые можно использовать, в зависимости от того, какое поведение вы хотите, если выбрана ячейка A1 или B1. В случае этого макроса его следует сохранить в модуле ThisWorkbook, чтобы он запускался всякий раз, когда что-то изменяется на листе.
Другой подход, который вы можете использовать, вообще не включает макросов. Вместо этого он полагается на условное форматирование. Выполните следующие действия:
-
Выберите ячейку B1.
-
Открыв вкладку «Главная» ленты, щелкните параметр «Условное форматирование» в группе «Стили». Excel отображает палитру параметров, связанных с условным форматированием.
-
Щелкните «Управление правилами». Excel отображает диалоговое окно «Диспетчер правил условного форматирования».
-
Щелкните Новое правило. Excel отображает диалоговое окно «Новое правило форматирования».
-
В области «Выбор типа правила» в верхней части диалогового окна выберите «Использовать формулу для определения ячеек для форматирования». (В Excel 2013 и Excel 2016 щелкните «Новое правило», а затем выберите «Использовать формулу для определения ячеек для форматирования».) (См. Рис. 1.)
-
В поле «Значения формата, в котором эта формула истинна» введите следующее: = НЕ (ТОЧНО (ЛЕВЫЙ (A1,1), «A»)). Эта формула вернет значение True, если ячейка содержит не букву «A» в качестве первой буквы ячейки.
-
Щелкните Форматировать, чтобы открыть диалоговое окно Формат ячеек.
-
В списке категорий выберите Custom.
-
В поле Тип введите следующее: «Н / Д»; «Н / Д»; «Н / Д»; «Н / Д» (убедитесь, что вы включили кавычки, как показано).
-
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Формат ячеек. Форматирование, указанное на шаге 7, теперь должно появиться в области предварительного просмотра для правила.
-
Щелкните ОК. Диалоговое окно «Новое правило форматирования» исчезнет, и Excel снова отобразит диалоговое окно «Диспетчер правил условного форматирования». Только что определенное вами правило отображается в диалоговом окне.
-
Щелкните ОК. Excel применяет условное форматирование к ячейке B1.
Пользовательский формат, который вы определили на шаге 9, заставляет Excel отображать буквы «N / A», когда значение является числом (положительным, отрицательным или нулем)
или текст. Поскольку вы устанавливаете все 4 условия на одно и то же, тогда все они будут отображать «N / A». Этот подход изменяет отображение, но по-прежнему позволяет пользователю вводить значение в ячейку B1 — оно просто не будет отображаться правильно, если первая буква в ячейке A1 не будет «A».
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (13457) применим к Microsoft Excel 2007, 2010, 2013 и 2016.