Excel VBA: Именованный диапазон + строковое значение в качестве списка проверки? - PullRequest
2 голосов
/ 10 июня 2011

Хорошо, в основном я хочу установить список проверки данных для конкретной ячейки. Этот список должен содержать определенный диапазон ячеек, которые я указал, плюс добавленное к нему строковое значение. У меня есть диалоговое окно, которое запрашивает у пользователя имя, а затем мне нужно отобразить список, содержащий заданный диапазон ячеек с добавлением «Другое:» и имени.

name = "Test"
With Worksheets("Tijdsregistratie").Cells(aangepasteRij, 4).Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=nameRange, name"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With

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

1 Ответ

0 голосов
/ 10 июня 2011

Проверка данных не принимает «объединение диапазонов» (например, "=nameRange, name" или "=$I$4:$I$9;$A$21" будет неверным вводом), но когда вы обновляете диалоговое окно, вы можете создать новый диапазон, включающий «Другое» & Назовите и подтвердите соответствие этому новому диапазону или просто добавьте в конце диапазона проверки результат диалогового окна.

Проверка этого устройства в Интернете (пример ниже)

Formula1:=Range("I4").Value & "," & Range("I5").Value & ",a,b"

Как вы можете видеть, как Формула1 принимает строковый ввод в формате "option1, option2, option3", так что это легко: создайте строку с диапазоном проверки и добавьте свои данные из диалогового окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...