Я очень новичок в коде VBA. Теперь мне было поручено выполнить задачу, которая проверяет данные на листах excel.Как заблокировать ячейку на основе значения другой ячейки и выполнить проверку данных
Например, в моем Столбец У меня есть раскрывающееся меню, которое позволяет пользователю делать выбор между «Да» или «Нет».
Если пользователь выбрал «Да», ячейки в столбце B и столбце C будут отмечены как обязательные и не могут быть пустыми. Я хочу поставить на это ошибку проверки.
**Example 1: If A1 and A30 == YES**
B1 и C1, B30 и C30 являются обязательными
заполнит цвет обязательных элементов и удалить цвет заливки, когда клетки имеют ценность уже
кинуть ошибка проверки, когда эти ячейки пусты и если превышает количество требуемых символов.
Пример 2: Если A99 == НЕТ
B99 будут заблокированы, и пользователь не будет иметь возможность вводить данные на этой ячейке. Возможно, что мы можем добавить значение ячейки как «NA», чтобы избежать путаницы
я смог захватить это с помощью проверки данных и условного форматирования. Тем не менее, я не могу выполнять заблокированные функции, так как в ходе исследования мне нужен код VBA для этого.
Я думаю, что вы сможете сделать это с помощью логики в валидации ... –
Возможно, вы найдете [вопрос полезным] (http://stackoverflow.com/questions/3037400/how-to-lock-the -data-в-клетка-в-Excel-используя-VBA). TL; DR: 'ActiveSheet.Protect' будет блокировать рабочий лист. 'Range (« A1: D5 »). Locked = False' устанавливает расхождения в блокировку. Наконец, 'ActiveSheet.Unprotect' восстанавливает доступ для чтения/записи. –