有没有办法强制excel自动“重写”外部引用的地址?
例子
当我将鼠标悬停并选择另一个工作簿中的表作为源时,公式栏显示:
=[WorbookName.xlsx]SheetName!TblName
一旦我按下回车键,公式栏就会显示:
=WorbookName.xlsx!TblName [#Data]
括号和工作表名称被删除,[#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 更新值。当我第一次打开包含链接的工作簿时,它会尝试更新到最新数据。当我使用常规范围时,它没有问题。当我使用表格时,我得到“我们现在无法更新您工作簿中的某些链接”。如果你去编辑链接,它看起来像这样: 编辑链接
如果您尝试更新值,则会显示此信息,请注意它正在寻找工作表,但它所期望的名称实际上是工作簿的名称。 选择工作表
我相信这是因为当你引用一个范围时,地址是这样写的:
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 可以毫无问题地识别它。
真的希望找到解决方案,在此先感谢!