2013-08-01 56 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()在一個循環中。 –