Создание проверки вводимых значений через vba (тип данных список)

Узнай цену своей работы

Формулировка задачи:

Добрый день! Пытаюсь написать макрос, который на основе именовонного диапазона создает "Проверку вводимых значений" в ячейке (Есть такая функция, можно это сделать ручками, но мне необходимо автоматизировать процесс).

Хочу создавать списки на основе данных хранящихся в именованном диапазоне.

Вот код, это сгенеривоанный код VBA, в котором изменена только 1 строчка

было

: xlBetween, Formula1:="='Тест1'!$F$2:$I$2"

стало

: xlBetween, Formula1:=Name_in_collection.Value VBA ругается, почему-не понимаю, в принципе в Name_in_collection.Value хранится как раз таки адрес моего диапазона, при этом тип данных string/variant. Не подскажите в чем проблема?

Решение задачи: «Создание проверки вводимых значений через vba (тип данных список)»

textual
Листинг программы
Private Sub Test()
    Dim iCell As Range, iName As Name, tmp$
    Set iCell = Worksheets("Меню").Range("C17")
   
    For Each iName In Names
        tmp = iName.Name
        If tmp Like "*[А-я]#*" Then
           With iCell.Validation
                .Delete
                .Add xlValidateList, xlValidAlertStop, _
                xlBetween, "=INDIRECT(""" & tmp & """)"
           End With
           Set iCell = iCell(2)
        End If
    Next
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5