Board logo

標題: [發問] 不同Excel檔案取得儲存格資料 [打印本頁]

作者: pideo    時間: 2015-10-4 09:20     標題: 不同Excel檔案取得儲存格資料

本帖最後由 pideo 於 2015-10-4 09:22 編輯

抱歉在vba版沒問到在不使用vba下如何可以直接在儲存格裡置入公式取得讀值
想說這問題可能是屬於這版
所以來此詢問懇請指導一下
小弟目前有一個a.xlsm檔
其中a檔工作表1的A1儲存格為手動打入一名稱例如 A(20151001)
而這個名稱 A(20151001)會剛好對應一個excel檔,其名稱就是 A(20151001).xlsm
請問一下如果要在a檔工作表1的A1顯示A(20151001).xlsm檔的A1儲存格的值時
小弟在B1裡寫入 ='D:\資料\[A(20151001).xlsm]工作表1'!$A$1
這樣確實可以讀到數值
但問題就是每次都要自己手動打上檔名@@~~~
所以小弟想有沒有辦法讓儲存格自己讀取a檔的E1儲存格值當作檔名去讀取路徑下的檔名
小弟這樣寫一直顯示錯誤
="'D:\資料\[" & workbooks(a檔).worksheets(工作表1).cell(1.5) & ".xlsm]"工作表1'!$A$1
後來有版友指導將上面的改為
= "='D:\資料\[" & E1 & ".xlsm]工作表1'!$A$1"
這樣確實可以取得檔名
但顯示在儲存格的確是上述整段文字='D:\資料\[" & E1 & ".xlsm]工作表1'!$A$1
而非去取指定檔案裡的指定儲存格之數值
[attach]22149[/attach]
而如果將E1改為[E1]則會顯使出錯誤
[attach]22150[/attach]

請問該如何改寫@@~~~
感恩


[attach]22148[/attach]
作者: 准提部林    時間: 2015-10-4 16:21

回復 1# pideo


= "='D:\資料\[" & E1 & ".xlsm]工作表1'!$A$1"
它只是在儲存格顯示〔一段文字〕,而無法讓這〔文字〕自行轉為公式計算,
例如:A1內容為:台灣
   在B1輸入:A1
   B2公式:=B1,公式結果顯示:A1,而不是A1的內容〔台灣〕
   若公式改為:=INDIRECT(B1) 即可正確取得A1的內容

外部檔的參照也可使用=INDIRECT(文字),但必須這外部檔案同時開啟,否則公式無法正確顯示,
所以,還是要用VBA去執行公式的轉換的!
作者: pideo    時間: 2015-10-4 17:20

本帖最後由 pideo 於 2015-10-4 17:22 編輯

回復 2# 准提部林

原來如此
我還異想天開的想說可以不用開啟檔案不用vba
然後就直接做使用{:3_57:}
看來真的要用vba來搞了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)