Изменение ссылок диаграммы, связанных с другой книгой - PullRequest
1 голос
/ 15 марта 2019

с 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.

Поскольку я на самом деле не могу преодолеть эту проблему, я хочу попросить вас о любых направлениях или решении моей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...