Я хотел бы инициализировать ComboBox, который существует на диаграмме (автономная диаграмма, а не диаграмма, встроенная в лист), чтобы иметь два значения: «Расходы» и «Доход».
Я попытался ввести буквальный список ('={"Расходы", "Доход"}' или '=("Расходы", "Доход")'), но попытка любого из них привела к ошибке "Ссылка недействительна". (Место, где я пытался ввести литералы, было полем «Входной диапазон», доступ к которому можно получить, щелкнув правой кнопкой мыши элемент управления> Управление форматом> Управление.)
Я также пытался инициализировать элемент управления с помощью VBA каждый раз, когда диаграмма активировалась:
Private Sub Chart_Activate()
Dim expensesIncomeDropDown As Object
Set expensesIncomeDropDown = Me.Shapes("Drop Down 1") 'Error here
expensesIncomeDropDown.DropDownLines = 2
expensesIncomeDropDown.AddItem "Expenses"
expensesIncomeDropDown.AddItem "Income"
End Sub
(«Drop Down 1» — это индекс, используемый средством записи макросов, когда я записываю изменение элемента управления. Я также пробовал «DropDown1».) Но указанная строка выдает ошибку: «Ошибка времени выполнения '-2147024809 (80070057)': Элемент с указанным именем не найден." Использование окна locals VBA IDE для проверки свойства Shapes Me (диаграммы) указывает на то, что коллекция пуста. Я попытался получить доступ к элементу управления из события Chart_BeforeDoubleClick (предполагая, что коллекция Shapes не была инициализирована для события Activate), но получил тот же результат.
Другие сталкиваются с такой же проблемой. а>. Совет ценится.