2013-12-09 9 views
0

Я создаю электронную таблицу, которая будет загружена в базу данных и должна быть строгая проверка.Проверка ячеек в VBA excel

Мне нужно убедиться, что если в ячейке A2 есть текст, то ячейки C2, D2, F2, G2 должны иметь данные. Я хотел бы сделать это с цветом - если в A2 есть текст, остальные ячейки будут выделены красным цветом до тех пор, пока они не будут содержать текст, а затем цвет фона изменится на белый. (Перечисленные ячейки НЕОБХОДИНЫ и должны содержать значение).

В этой таблице будет около 1000+ строк, и я попытался использовать это с помощью проверки данных, но это будет связано с тем, что я буду проходить по строкам подряд.

+1

Вы можете скопировать первую строку с помощью валидации .pasteSpecial (xlPasteValidation). Вам нужна более подробная информация о том, как это сделать? – Makah

+0

спасибо, да пожалуйста – user3083718

ответ

1

Проверка данных не требует от вас строки за строкой, по умолчанию Excel, похоже, делает это так (путем фиксации строки и столбца с знаками доллара), но это легко изменить.

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

формула в вашем случае для C2 будет: =AND(LEN($A2)>0;LEN(C2)=0) это может быть применен для C2: F2000:

Applied to C2:F2000

Или то, что вы можете сделать, это указать эту формулу для C1 (=AND(LEN($A1)>0;LEN(C1)=0)) и применить его к C: F.

The condition formula when applying to complete columns Applied to C:F

Нет необходимости в VBA.

+0

спасибо - сделаю я это условное окно форматирования - как мне копировать? – user3083718

+0

В окне условного форматирования управления вы можете увидеть диапазон, в котором это применяется ('Применяется к'), просто измените его на нужный диапазон. Формула, используемая как условие, должна относиться к верхней левой верхней части диапазона, который вы там помещаете. –

+0

Еще раз спасибо - хотя проблема с «формулой, которую вы вводили, содержит ошибку» - любые идеи относительно того, почему? – user3083718

Смежные вопросы