Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
VBA динамический выпадающий список
 
Добрый день.
Опять по поводу выпадающего списка. Проблема следующая.
При выполнении программы затыкается на Add Type...=INDIRECT(""Производитель[Производитель]"")".
Выпадает ошибка: Run-time error "1004": Application-defined or object-defined error.
После, если продолжить выполнение программы, выполняется без проблем. Как будто этой ошибки не было.
Может кто знает, что это такое и как с ним бороться.

Код
     With Sheets(list_vstsvki).Range(Cells(stroka_vstavka + 1, stolb_vstavka + 12), _
         Cells(stroka_vstavka + kol_strok, stolb_vstavka + 12)).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=INDIRECT(""Производитель[Производитель]"")"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Изменено: Bugrimdjon - 16.07.2018 13:46:39
VBA динамический выпадающий список
 
Всем спасибо. РАЗОБРАЛСЯ.
Действительно, устранил возникновение ситуации с неописанными ссылками и ошибка пропала.
VBA динамический выпадающий список
 
Этот файл сформирован для примера, оригинал тяжел для восприятия. Прикрепляю его, может получится разобраться.

Выбираем лист "Новый расчет"
Выделяем столбец "Модули, комплекты" без заголовка.
Жмем CTRL+L.
В появившемся окне устанавливаем первые значения в combobox "Станок", "Узел", "Был", "Стал".
Ждем сформировать комплект.
ЖДЕМ ОШИБКУ.
VBA динамический выпадающий список
 
Именованный диапазон создан и не один. Название диапазона формируется от значения в RC[-1].  
VBA динамический выпадающий список
 
Выделяю ячейки > проверка данных>  в проверку данных вношу значение список, в нем указываю значение =ДВССЫЛ(RC[-1]&"_Группа").
Такой же эффект необходимо получить через VBA.
Записываю макрос такой последовательности, потом его повторяю и ОШИБКА.
Прикрепляю пободный файл. Макрос 26 и 27 -  записанные макросы. Эксель их записал, а повторять отказывается.
Изменено: Bugrimdjon - 13.07.2018 13:58:06
VBA динамический выпадающий список
 
Варианты:
FormulaR1C1
Formula1R1C1
Formula
Результат один - "Named argument not found"
Изменено: Bugrimdjon - 13.07.2018 13:06:16
VBA динамический выпадающий список
 
Добрый день.
Прошу помощи знатоков.
Необходимо задать выпадающий список который формируется через ДВССЫЛ. Задаю его так:
Код
    Range(Cells(stroka_vstavka + 1, stolb_vstavka + 13), _
                Cells(stroka_vstavka + kol_strok, stolb_vstavka + 13)). _
                Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=INDIRECT(RC[-1]&""_Группа"")"
Ругается при выполнении, как я понял на RC[-1], то есть на такую адресацию в "=INDIRECT(RC[-1]&""_Группа"")".  Здесь RC[-1] - это изменяемые текстовые данные, которые в конечном итоге формируют имя диапазона с данными, на который формируется ссылка. То есть выпадающий список будет изменятся от значения в  ячейке RC[-1].
КАК VBA объяснить чего я от него хочу?
Данные для выпадающих списков из одной таблицы
 
Нет такого варианта, что бы выпадающий список задавал фильтр в основной таблице и, как результат, оставшиеся строки были выпадающим списком для последнего выбора. А исходные данные для первых выпадающих списков формировались как уникальные данные по отдельным столбцам исходной табцицы.
Данные для выпадающих списков из одной таблицы
 
Я с VBA не очень, разбираться долго буду, как хотелобсь бы комментариев в макросе.
Данные для выпадающих списков из одной таблицы
 
Я и использую связанные выпадающие списки, в двух вариантах для полей "Наименование" и "Производитель" я использую диапазоны умных таблиц, =ДВССЫЛ("Элементы[Элементы]") и =ДВССЫЛ("Производитель[Производитель]"), соответственно, которые назначаются в листе "Производители_Поставщики_элемен". А вот выпадающий список для поля "Тип" вормируется как =ДВССЫЛ(СЦЕПИТЬ(E15;"_";F15;"[Тип]")), где Е15 это поле "Наименование", а F15 - поле "Производитель". Таким образом для поля "Тип" формируется много вариантов ссылок на диапазоны, которые я создаю вручную, путем создания умной таблицы и присвоения ей имени, например: "Кабельная_продукция_Unitronic", "Реле_Phoenix_Contact", "Реле_аксесуары_Phoenix_Contact, Контактор_ETI", "Блок_контакт_контактор_ETI" и это далеко не полный список. На основании выбранных данных в шаблон автоматом добавляется значения артикула и цены. При поступлении новых данных, расширении номенклатуры, появлении нового поставщика, вручную приходится создавать новые таблицы, в которых я начинаю путаться. А что я буду делать, когда прейдется обновлять данные по стоимости, ведь стоимость находится в мелких разбросанных таблицах, вручную это делать - лучше повеситься. Поэтому и хочется иметь общюю таблицу исходных данных, а все остальное что бы формировалось автоматом из нее.  
Данные для выпадающих списков из одной таблицы
 
Доброго времени суток.
Для просчета стоимости ремонта оборудования создал шаблон, в котором, для удобства, создал выпадающие списки. Для Создания такого списка создал отдельно умную таблицу, то есть динамический диапазон, поставщиков и элементов (реле, контакторы, кнопки, автоматические выключатели и т.д). Далее, создаю умную таблицу, уже товаров с поставщиками  , например "реле_Иванова", "реле_ETI", "сигнальная_арматура_ETI", "сигнальная_арматура_Phoenix_Contact" и т. д. Уже в шаблоне на соответствующих полях выбирается элементы (например пксуатель), в другом - производитель (например ETI), а третий диапазон выпадающего списка формируется как ДВССЫЛ(СЦЕПИТЬ(первое значение;"_";второе значение). И таким комбинациям соответствуют отдельные умные таблицы о которых я выше писал. НЕДОСТАТОК:
1 Все товары разбросаны, нет единой таблицы товаров, в которой можно было бы удобно обновить цены на комплектующие.
2 Имея 6 поставщиков и 20 наименований категорий элементов начал путаться и "долго" искать необходимые таблицы для внесения дополнений.
3 Трудно а то, наверно, и невозможно уйти от жесткого алгоритма ввода полей, то есть первыми идут поля поставщиков и товаров, а потом формируется третий диапазон.
ХОЧЕТСЯ
1, 2 Формировать данные необходимые для подстановки в одной таблице.
3 Не вижу пока и путей решения. Хочется вводить значения в ячейки не придерживаясь "жесткого" алгоритма. Ведь не все поставщики имеют все элементы.
Надеюсь на Ваши знания и подсказки в решении вопроса.
За ранее благодпрен
Изменено: Bugrimdjon - 21.06.2018 21:28:42
Страницы: 1
Наверх