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

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

  1. Выберите ячейку B1.

  2. Открыв вкладку «Главная» ленты, щелкните параметр «Условное форматирование» в группе «Стили». Excel отображает палитру параметров, связанных с условным форматированием.

  3. Щелкните «Управление правилами». Excel отображает диалоговое окно «Диспетчер правил условного форматирования».

  4. Щелкните Новое правило. Excel отображает диалоговое окно «Новое правило форматирования».

  5. В области «Выбор типа правила» в верхней части диалогового окна выберите «Использовать формулу для определения ячеек для форматирования». (В Excel 2013 и Excel 2016 щелкните «Новое правило», а затем выберите «Использовать формулу для определения ячеек для форматирования».) (См. Рис. 1.)

  6. В поле «Значения формата, в котором эта формула истинна» введите следующее: = НЕ (ТОЧНО (ЛЕВЫЙ (A1,1), «A»)). Эта формула вернет значение True, если ячейка содержит не букву «A» в качестве первой буквы ячейки.

  7. Щелкните Форматировать, чтобы открыть диалоговое окно Формат ячеек.

  8. В списке категорий выберите Custom.

  9. В поле Тип введите следующее: «Н / Д»; «Н / Д»; «Н / Д»; «Н / Д» (убедитесь, что вы включили кавычки, как показано).

  10. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Формат ячеек. Форматирование, указанное на шаге 7, теперь должно появиться в области предварительного просмотра для правила.

  11. Щелкните ОК. Диалоговое окно «Новое правило форматирования» исчезнет, ​​и Excel снова отобразит диалоговое окно «Диспетчер правил условного форматирования». Только что определенное вами правило отображается в диалоговом окне.

  12. Щелкните ОК. Excel применяет условное форматирование к ячейке B1.

Пользовательский формат, который вы определили на шаге 9, заставляет Excel отображать буквы «N / A», когда значение является числом (положительным, отрицательным или нулем)

или текст. Поскольку вы устанавливаете все 4 условия на одно и то же, тогда все они будут отображать «N / A». Этот подход изменяет отображение, но по-прежнему позволяет пользователю вводить значение в ячейку B1 — оно просто не будет отображаться правильно, если первая буква в ячейке A1 не будет «A».

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13457) применим к Microsoft Excel 2007, 2010, 2013 и 2016.