Разрешены ли круглые скобки в строке проверки данных? - PullRequest
0 голосов
/ 20 февраля 2019

Я устанавливаю проверку данных поля через VBA.Все работает нормально до момента добавления проверки в поле и только для некоторых строк проверки.Это строки, которые, кажется, вызывают проблему.

У меня есть следующий код проверки данных:

If Not NewTarget Is Nothing Then
    With NewTarget.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlBetween, Formula1:=mys
    End With

    NewTarget.Value = MyList(1)
End If

Значение mys, которое терпит неудачу:

"Select One,Trade - Transportation - Utilities(9),Information,Finance -   Insurance - Real Estate,Professional - Business Services,Educational - Health Services,Leisure - Entertainment - Hospitality,Other Services (Except Public Administration),Public Administration"

Работает следующее:

"Select One,Natural Resources - Mining,Construction,Manufacturing"

Нужно ли удалять скобки из строки, чтобы строка проверки была принята?

Я видел, что с помощью формул изVBA, кажется, вызывает проблемы с круглыми скобками в строках.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Оказывается, это не скобки, которые вызывают проблемы, это длина строки.

Формулы в Excel имеют ограничение в 256 символов, и Excel выдает исключение, когда вы превышаете этот предел.

0 голосов
/ 20 февраля 2019

Предполагая, что mys - это диапазон, сделайте следующее:

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlBetween, Formula1:="=mys"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...