2013-08-01 57 views
0

我想返回一个单元格的值在一个封闭的工作簿的名字是由变量这样的事情了:获得价值,文件名由变量

="'C:\" & x & ".13\" & y & "\[CSD m activity " & B1 & ".xlsx]Tracking'!B4" 

其中x = 6,Y = 6.1

,我想回到在文件

'C:\6.13\6.1\[CSD m activity 6.1.xlsx]Tracking'!B4 

我的代码返回的文件名作为一个字符串名为跟踪工作表B4的价值,但我想价值i ñ文件,是否有办法做到这一点有或没有VBA,任何事情都会有所帮助 谢谢!

+0

我知道从关闭的工作簿中获取数据的唯一方法是打开它或创建一个ADODB连接并使用SQL查询它。 – Ripster

+1

如果其他工作簿是开放的,你可以使用'= INDIRECT(..'否则你将需要VBA afaik –

回答

0

可以在VBA得到一个封闭的工作簿中的值:

Debug.Print ExecuteExcel4Macro("'F:\Documents and Settings\student\My Documents\[AndysData7.xlsx]Staff List'!R6C4") 

的公式需要在R1C1格式。

虽然这是一个未记录的功能,并且可能无法在将来的Excel版本中使用。

+0

但可以说我想从名为“AndysData1”“AndysData2”等10个文件中的一个来完成,每个文件夹路径都是不同的,基本上我希望文件路径是一个变量 – user2573231

+0

你可以在一个变量中构造你的字符串,并将它传递给ExecuteExcel4Macro()在一个循环中。 –