我正在尝试创建一个主Excel工作表,该工作表从位于与主工作表相同的fiolder中的其他几个Excel工作表中导入数据。我的问题是,当我创建数据连接时,excel存储文字路径名称,该名称根据访问主工作表的用户而变化。
例如,当我创建数据连接时,路径存储为F:\ shared \ mybossesfolder \ source1.xlsx。
但是,共享驱动器的名称对于其他用户是不同的。例如,我老板的共享驱动器通常(但不总是)驱动O.因此,对于主数据库导入数据,源文件路径需要是O:\ shared \ mybossesfolder \ source1.xlsx。
如上所述,主服务器及其来源位于每个用户的同一文件夹中,只有驱动器名称发生变化。无论分配给用户的驱动器名称如何,我如何创建可以工作的数据连接?
万分感谢!
答案 0 :(得分: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会变得混乱。如果有人在您的某个支线工作簿中添加了一行或一列,会发生什么?根据工作表的大小,您可能需要考虑长期的不同解决方案。
希望这有帮助。