Элементы списка проверки данных на одной строке в Excel

Применимо к: Microsoft Office Excel 2003Microsoft Office Excel 2007Excel 2010

Проблемы


При запуске макроса Microsoft Excel или другого программного кода, который задает правила проверки данных для ячейки в виде списка допустимых элементов, все элементы в списке проверки данных в ячейке выводятся в одной строке.

Причина


Такое поведение наблюдается, если выполняются указанные ниже условия.
  • Параметр разделения списка (в разделе региональные параметры на панели управления) не является запятой (,). Например, если в качестве национальной настройки задано значение "Германия", разделитель списка — точка с запятой.
  • В макросе для проверки данных используется разделитель списка для указания допустимых записей в ячейках.
  • Код макроса явно определяет список, вместо того чтобы указывать на диапазон ячеек, в котором указаны допустимые значения.

Обходное решение


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

Дополнительная информация


В Excel приложение Microsoft Visual Basic для приложений всегда использует в качестве разделителя списка запятую. Это позволяет запускать макросы на компьютерах с разными региональными параметрами, не изменяя код. При передаче массива с разделителями-запятыми с помощью VBA (XLValidateList Formula1) для проверки данных применяются ограничения на 255 знаков. При запуске макроса, использующего разделитель элементов списка, для изменения параметра макрос преобразует запятую в разделитель локальных региональных списков. Например, это случается, если макрос создает список проверки данных или вводит формулу в ячейку с помощью команды диапазон. Формула (Число1;число2) .

Ссылки


Для получения дополнительных informationabout проверки данных в Excel щелкните следующий номер статьи базы знаний Майкрософт:
211485 Описание и примеры проверки данных в Excel