Приветствую, коллеги!
Столкнулся с такой проблемой:
Создал надстройку. Внутри нее лежит расчетная таблица (она скрыта от пользователей). Расчетная таблица - стандартная таблица (не умная). Эта таблица создается пользователем через нажатие на кнопку (на панели инструментов) - то есть, стандартное копирование листа из надстройки в запущенный пользователем Excel. В этой таблице есть большое количество выпадающих списков (списки созданы через "Проверку данных" - "Списки") в различных ячейках. И только единственный список сделан через ссылку на "диспетчер имен", так как он связан с другим списком. Так вот, этот список в ячейке, при копировании листа из надстройки в запущенный Excel, просто исчезает и все, ячейка в таблице становится "Любое значение". При этом, в таблице, которая в надстройке (IsAddin = false), все работает, список есть. В созданной пользователем таблице можно руками прописать в Списках ссылку на Диспетчер имен и все работает. При ручном копировании таблицы из надстройки в Excel аналогично - исчезает список. То есть, вся проблема в копировании листа именно из надстройки.
Я подумал, хрен с ним, и пробовал прописать макрос, который вставляет в данную ячейку список с ссылкой на имя из диспетчера имен. Но, макрос не срабатывает, на строке .Add выдает ошибку - Run-Time 1004 Application-defined or object-defined error (код ниже). Код получил через запись макроса. Такое решение проблемы меня бы устроила, но не могу понять почему не работает макрос.
Буквально на прошлой неделе все работало и проблем не было. Эта же надстройка на рабочем компе работает и список не исчезает. На домашнем компе список исчезает.
Домашний комп: Операционная система Windows 10, Office 2016.
Рабочий комп: Операционная система Windows 10, Office 2016.
Файлик по ссылке
По ссылке находится надстройка. На примере "Квартира" - создается таблица и в ней в диапазоне ячеек F10:L10 (он завязан на списках F9:L9 через диспетчер имен) должен быть выпадающий список. У меня они исчезает при создании копии листа. Если сделать IsAddin = false и посмотреть этот диапазон на листе с именем "К_01|01|2019_ПО_АРФа", то списки там есть.
Не понимаю с чем связано такое явление. Читал в инете, похожей проблемы не нашел. Ctrl + 6 - это не то!
Прошу помощи.
Столкнулся с такой проблемой:
Создал надстройку. Внутри нее лежит расчетная таблица (она скрыта от пользователей). Расчетная таблица - стандартная таблица (не умная). Эта таблица создается пользователем через нажатие на кнопку (на панели инструментов) - то есть, стандартное копирование листа из надстройки в запущенный пользователем Excel. В этой таблице есть большое количество выпадающих списков (списки созданы через "Проверку данных" - "Списки") в различных ячейках. И только единственный список сделан через ссылку на "диспетчер имен", так как он связан с другим списком. Так вот, этот список в ячейке, при копировании листа из надстройки в запущенный Excel, просто исчезает и все, ячейка в таблице становится "Любое значение". При этом, в таблице, которая в надстройке (IsAddin = false), все работает, список есть. В созданной пользователем таблице можно руками прописать в Списках ссылку на Диспетчер имен и все работает. При ручном копировании таблицы из надстройки в Excel аналогично - исчезает список. То есть, вся проблема в копировании листа именно из надстройки.
Я подумал, хрен с ним, и пробовал прописать макрос, который вставляет в данную ячейку список с ссылкой на имя из диспетчера имен. Но, макрос не срабатывает, на строке .Add выдает ошибку - Run-Time 1004 Application-defined or object-defined error (код ниже). Код получил через запись макроса. Такое решение проблемы меня бы устроила, но не могу понять почему не работает макрос.
| Код |
|---|
Private Sub am()
Range("F10:L10").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Горда_К"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
|
Буквально на прошлой неделе все работало и проблем не было. Эта же надстройка на рабочем компе работает и список не исчезает. На домашнем компе список исчезает.
Домашний комп: Операционная система Windows 10, Office 2016.
Рабочий комп: Операционная система Windows 10, Office 2016.
Файлик по ссылке
По ссылке находится надстройка. На примере "Квартира" - создается таблица и в ней в диапазоне ячеек F10:L10 (он завязан на списках F9:L9 через диспетчер имен) должен быть выпадающий список. У меня они исчезает при создании копии листа. Если сделать IsAddin = false и посмотреть этот диапазон на листе с именем "К_01|01|2019_ПО_АРФа", то списки там есть.
Не понимаю с чем связано такое явление. Читал в инете, похожей проблемы не нашел. Ctrl + 6 - это не то!
Прошу помощи.