1

У меня есть таблица с входным столбцом и я настроил две таблицы с допустимыми значениями ввода. Правильная таблица зависит от значения в ячейке в конце каждой строки. Чтобы определить, какая таблица разрешена, я настроил формулу проверки данных (например, =if cellatendof row>0, table1, table2). Я попытался перетащить проверку данных вниз, но она не использовала относительную ссылку на ячейку, которую нужно проверить. Итак, я вручную вошел в каждую ячейку в столбце и обновил формулу проверки данных, чтобы проверить ячейку для этой конкретной строки (например, =if cellatendofrow1>0... then next =if cellatendofrow2>0 ...).

Это работает, но никому не удастся добавить или удалить строку - или даже отсортировать данные - без отключения формулы проверки данных. Вместо того, чтобы указывать на новое местоположение ячейки, она указывает на исходную строку в жестком коде. Поэтому, если строка добавлена, теперь строка 1 переместилась в строку 2, но формула по-прежнему смотрит на cellatendofrow1 поскольку она была жестко запрограммирована таким же образом, как и все остальные строки, и результаты, вероятно, будут недействительными.

Есть ли способ сделать ссылку относительной, а не статической и двигаться с остальной частью строки?

Извините, что не знаю VB - но мог бы попробовать, если бы это исправило!

1 ответ1

0

Если флажок Table установлен в ColumnC (всегда!) тогда формула, показанная ниже, работает (используя именованные диапазоны):

SU479043

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .