Я хочу, чтобы пользователь не видел данные в ячейке A1, пока он не введет дату в ячейку D1. Как только он введет дату в ячейку D1, данные в A1 появятся для него.
решение1
@Scott Craner знает свое дело и кратко ответил на ваш вопрос в рамках информации, которую вы включили. Я не могу придумать ничего, кроме VBA, чтобы скрыть значение ячейки без расширения области действия.
Используйте условное форматирование. Сначала отформатируйте ячейку с цветом текста, таким же, как и фон, а затем, когда добавляется дата, используйте правило условного форматирования, которое изменяет цвет текста на желаемый цвет.– Скотт Крейнер
Обратите внимание, что пользователь все равно может видеть данные в строке формул, если ячейка выбрана. Чтобы предотвратить это, вы можете скрыть строку формул или снять флажок «выбрать заблокированные ячейки» и защитить рабочий лист.
Еще одна вещь, которую следует иметь в виду, — переполнение ячеек. Если B1 пуста, а A1 содержит большую строку, то при настройках по умолчанию содержимое A1 перетечет в соседние столбцы. Вы не сможете увидеть текст, если он совпадает с фоном этих столбцов, и вы не сможете его выделить, но границы ячеек будут удалены, что создаст видимость объединенной ячейки. А если изменить цвет фона, то выходящий за пределы текст можно будет прочитать. Вы можете выровнять текст по правому краю, чтобы предотвратить переполнение столбца B, но это может стать проблемой, если столбцы будут добавлены слева.
В качестве альтернативы вы можете поместить свои данные на скрытый лист и использовать формулы для представления данных, когда это уместно. Защита рабочего листа по-прежнему необходима, чтобы предотвратить преждевременное чтение данных опытным пользователем и предупредить, что опытный пользователь может найти ваши данные в любом месте рабочей книги, независимо от того, что вы делаете.