с 2 дней я застрял с проблемой, которую я не могу решить. Проблема заключается в следующем:
Я создал лист, где у вас есть несколько объектов (около 25 объектов, которые в основном являются диаграммами, но также и связанными таблицами), и я хочу создать изменяемые связи между этими диаграммами, потому что они могут использоваться во многих различных папки ... Например, таблица может выглядеть так:
https://i.stack.imgur.com/swpGQ.jpg
Формула: =Excel.SheetMacroEnabled.12|'C:\Users\MainUser\New\AnotherExcel.xlsm'!'!Data - Subscriptions!W28K36:W30K39'
Чего я хочу добиться, так это создать макрос, который изменяет эту ссылку следующим образом:
Sub Makro1()
ActiveSheet.Shapes.Range(Array("Object 1")).Formula = _
"=Excel.SheetMacroEnabled.12|'" & ActiveWorkbook.Path & "\AnotherExcel.xlsm'!'!Data - Subscriptions!W28K36:W30K39'"
End Sub
Но проблема в том, что когда я пытаюсь сделать что-то похожее на это, я получаю ошибку, подобную этой:
Run-time error '438':
Object doesn't support this property or method
А также вот так:
Run-time error '1004':
Setting the property Formula of class Rectangle is not possible
Еще одна важная вещь: Когда я вручную изменяю значение в строке формул в Excel, он также меняет ссылку в Данные -> Соединения -> Редактировать ссылки , так что это здорово. Затем я также записал макрос на основе этого и получил:
ActiveSheet.Shapes.Range(Array("Object 23")).Select
Selection.Formula = _
"=Excel.SheetMacroEnabled.12|'C:\Users\MainUser\New\TestingFormula\AnotherExcel.xlsm'!'!Data - Subscriptions!W28K36:W30K39'"
Но когда я захотел запустить его, я только что получил 2-ю ошибку, которая крайне запутана, поскольку она должна просто изменить мою формулу. Я не уверен, что это важная информация, но я использую Excel 2010.
Поскольку я на самом деле не могу преодолеть эту проблему, я хочу попросить вас о любых направлениях или решении моей проблемы.