Шерил может использовать условное форматирование, чтобы ячейка имела определенный цвет, если ячейка пуста. Вместо другого цвета для пустой ячейки она хотела бы, чтобы в пустой ячейке отображался какой-то текст. Например, если ячейка пуста, она может захотеть, чтобы в ней отображалось «Имя клиента», которое могло бы служить подсказкой для пользователя. Шерил задается вопросом, есть ли способ сделать такое «условное форматирование», которое показывает текст.

Короткий ответ: нет, это невозможно. Традиционный способ обойти это — отделить подсказки от ячеек ввода. Например, если пользовательский ввод ожидается в ячейке B4, вы можете поместить формулировку «Имя клиента:» (с двоеточием) в ячейку A4. Если вы хотите, чтобы формулировка исчезла при вводе имени клиента, вместо этого вы можете использовать формулу в ячейке A4:

=IF(ISBLANK(B4),"Customer Name","")

Вы также можете использовать подход, который использует способ, которым Excel справляется с «переполнением ячеек», когда ячейки содержат текст. Скажем, например, что (снова) ваш пользовательский ввод ожидается в ячейке B4.

Вы можете сделать столбец A очень узким — скажем, шириной около одного символа — а затем в ячейке A4 несколько раз нажать клавишу пробела и ввести «Имя клиента». Пока в ячейке B4 ничего нет, отображается то, что вы ввели в ячейку A4, но похоже, что это находится в ячейке B4. Когда кто-то вводит что-то в ячейку B4, это блокирует отображение того, что находится в ячейке A4. При желании вы даже можете сделать текст в ячейке A4 светло-серым, чтобы он выглядел приглушенным при отображении.

Если вы предпочитаете использовать макромаршрут, вам нужно создать такой, который запускается всякий раз, когда в таблице происходят изменения. Это войдет в модуль кода для используемого рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$4" Then         If Target = "" Then             ' Cell is empty; mark it and make gray             Target = "(Customer Name)"

With Selection.Font                 .ThemeColor = xlThemeColorDark1                 .TintAndShade = -0.249977111117893             End With         Else             ' Cell contains something; remove gray             With Selection.Font                 .ColorIndex = xlAutomatic                 .TintAndShade = 0             End With         End If     End If End Sub

Обратите внимание, что макрос запускается только в том случае, если изменяемой ячейкой является ячейка B4.

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

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