1

Я сталкиваюсь с причудливой ошибкой в Excel, которая, я надеюсь, может мне помочь.

У меня есть книга с поддержкой макросов, созданная в Excel 2010. На рабочей тетради есть серия радио кнопок. Когда выбран переключатель, я использую выбранное значение, чтобы заполнить список проверки данных в другой части электронной таблицы. Так, например, я выбираю переключатель "Отдел 1", и он заполняет список регионов, относящихся к Отделу 1 и т.д.

Каждый набор регионов имеет именованный диапазон. Список проверки данных использует формулу INDIRECT для замены имени диапазона в зависимости от выбранного переключателя.

Это отлично работает в Excel 2010. Однако, когда я запускаю тот же файл в Excel 2007, я не получаю раскрывающийся список в ячейке проверки. Я выполнил все шаги по устранению неполадок, описанные в блоге Contextures об исчезновении выпадающих списков проверки, но ни один из них не решил проблему.

Любые идеи относительно того, что может происходить?

2 ответа2

1

Не вводите функцию Indirect() непосредственно в поле проверки данных, обходите, используя именованный диапазон, который имеет косвенную функцию в качестве ссылки. Это должно решить проблему.

0

mtone - спасибо за ответ. Часть моей проблемы заключалась в том, что я не понимал, что будет разница в том, как Excel обрабатывает проверку данных в 2007 и 2010 годах. Я думал, что проверки совместимости поймали бы это. Очевидно нет.

Проблема в том, что я использовал опосредованную ссылку на ячейку, которая не находилась на том же листе, что и раскрывающийся список проверки данных. Видимо в Excel 2010 вы можете сделать это. В Excel 2007 это не разрешено, и раскрывающийся список проверки данных сбрасывается. Очень раздражает и расстраивает отладку, когда вы не используете Excel 2007.

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