2017-09-04 56 views
-1

我试图创建一个主Excel表单,该表单从位于与主表单相同的文件夹中的其他几个Excel表单中导入数据。我的问题是,当我创建一个数据连接时,excel正在存储文字路径名,根据访问主表的用户而变化。将Excel中的数据源链接到共享驱动器

例如,当我创建数据连接时,路径存储为F:\ shared \ mybossesfolder \ source1.xlsx。

但是,其他用户的共享驱动器名称不同。例如,我的老板的共享驱动器通常(但不总是)驱动器O.因此,为了让主导入数据,源文件路径需要为O:\ shared \ mybossesfolder \ source1.xlsx。

如上所述,主设备和它的源位于每个用户的同一文件夹中,只有驱动器名称发生更改。无论分配给用户的驱动器名称如何创建可以工作的数据连接?

非常感谢!

+1

您是否尝试过UNC路径?或者我误解了你的问题? –

回答

0

我会避免硬编码到您的Excel表的路径。相反,您可以在单元格中编写公式以表示主工作簿的路径,然后使用连接函数(https://support.office.com/en-us/article/CONCATENATE-function-8f8ae884-2ca8-4f7a-b093-75d702bea31d)。

要显示你的主人工作簿的全名和路径,你可以使用:

= CELL(“文件名”,A1)

要隔离人的路,你可以使用字符串操作。是这样的:

= LEFT(CELL( “文件名”,A1),FIND( “[”,CELL( “文件名”,A1)) - 1)

检查出此链接为一个更详细的解释:https://exceljet.net/formula/get-workbook-path-only

这样,根据打开工作簿的任何一台计算机,路径都是正确的。

请注意,当您试图用这种方式将工作簿连接在一起时,excel会变得杂乱无章。如果有人向您的一个进纸器工作簿添加一行或一列,会发生什么情况?根据工作表的大小,您可能需要考虑长期不同的解决方案。

希望这会有所帮助。

+0

谢谢乔纳森! – Dbcooper