Есть ли способ заставить Excel автоматически "переписать" адрес внешней ссылки?
Пример
Когда я наведу курсор мыши и выберу таблицу в другая книга в качестве источника, строка формул показывает это:
=[WorbookName.xlsx]SheetName!TblName
Как только я нажимаю клавишу ввода, панель формул показывает это:
=WorbookName.xlsx!TblName [#Data]
Скобки и имена листов удаляются и [# Данные] добавляются.
Я подтвердил, что Excel понимает адрес с именем листа, используя косвенную и заставляя Excel использовать полную ссылку
=INDIRECT([WorbookName.xlsx]SheetName!TblName)
Так что Excel не является ограничением. Однако это только доказало, что Excel справляется с этим стилем ссылок. Проблема заключается в том, что когда вы используете косвенный метод, вы фактически не создаете «ссылку» на исходный файл, ваша рабочая книга никогда не будет запрашивать обновление значений, если исходный файл закрыт.
Мне нужно заставить Excel сохранить имя таблицы в справочнике, потому что я буду загружать в OneDrive и совместно писать книгу. Когда вы ссылаетесь на таблицу в другой книге, и эта книга закрывается, ссылка изменяется, чтобы включить веб-адрес вашего OneDrive, например:
source file open: =WorbookName.xlsx!TblName [#Data]
source file closed: =https://d.docs.live.net/location/FileName.xlsx'!TableName
Я считаю, что это вызывает ошибки, мешая Excel обновлять ценности. когда я впервые открываю книгу, содержащую ссылки, она пытается обновить данные до последних. Когда я использую обычные диапазоны, это не имеет проблем. Когда я использую таблицы, я получаю «мы не можем обновить некоторые ссылки в вашей книге прямо сейчас». Если вы go редактируете ссылки, это выглядит так: Редактировать ссылку
Если вы попытаетесь обновить значения, вам будет показано это , Обратите внимание, что он ищет рабочую таблицу, но имя, которое он ожидает, на самом деле является именем рабочей книги. Выбрать лист
Я полагаю, это потому, что когда вы ссылаетесь на диапазон, адрес записывается так:
Rance referance =https ://d.docs.live.net/Loacation/[FileName.xlsx]SheetName!$A$1:$D$20
table referance =https ://d.docs.live.net/location/FileName.xlsx'!TableName
Обратите внимание, что в восклицательном знаке есть разница! точка. Я полагаю, что именно по этой причине Excel отображает имя книги в том виде, в каком она ищет. Опять же, если вы используете косвенный, вы можете заставить Excel использовать «длинный» адрес, поэтому мы знаем, что Excel распознает его без проблем.
Очень надеюсь найти решение, заранее спасибо!