返回列表 上一主題 發帖

如何取得某個檔案的儲存格資料?(檔案檔名,寫在存儲存格內)

如何取得某個檔案的儲存格資料?(檔案檔名,寫在存儲存格內)

本帖最後由 eigen 於 2013-11-6 14:52 編輯

如何取得某個檔案的儲存格資料?(檔案檔名,寫在存儲存格內)

目前做出來的:

https://dl.dropboxusercontent.com/u/12575824/Book3.xls

我參考 http://forum.twbts.com/thread-6224-1-1.html 完成了 開啟檔案讀取檔名的功能。

現在我想要的是參考這個儲存格,動態抓取檔案內的資料。

原本寫死的是這樣 A2 = 'D:\report\[20131106 銷貨.xls]Sheet4'!$E7

Setup!B1=D:\report\20131106 銷貨.xls

現在我希望是 A2 = Setup!B1   !Sheet4'!$E7

這樣該用什麼語法來做?

麻煩大德指點,謝謝~~

A2=INDIRECT(CONCATENATE("'",LEFTB(CELL("filename",Setup!B1),FINDB("]",CELL("filename",Setup!B1), ...
luhpro 發表於 2013-11-6 23:15



   謝謝~~不過....cell 抓到的目前檔案的filename ,而我要的檔案 filename 已經寫在 Setup!B1

TOP

本帖最後由 eigen 於 2013-11-7 12:11 編輯

我改寫 http://forum.twbts.com/thread-6224-1-1.html  抓檔案的方式
  1. Private Sub CommandButton1_Click()
  2.         Dim file_Input As String
  3.         Dim file_path As String
  4.         Dim file_name As String
  5.         Dim file_index As Integer
  6.         file_Input = Application.GetOpenFilename("EXCE檔(*.XLS),*xls")
  7.         

  8.         If file_Input <> "" Then
  9.                 file_index = InStrRev(file_Input, "\")
  10.                
  11.                 file_path = Left(file_Input, InStrRev(file_Input, "\"))
  12.                 file_name = Right(file_Input, Len(file_Input) - InStrRev(file_Input, "\"))
  13.                
  14.                 MsgBox "Reference " & file_Input
  15.                 'Cells(1, 2) = file_path
  16.                 Range("B1").Value = file_path & "[" & file_name & "]"
  17.                
  18. '                Range("B2").Value = file_path
  19. '               Range("B3").Value = file_name
  20.   '              Range("B4").Value = file_Input
  21.         End If

  22. End Sub
複製代碼
儲存格的顯示就改成這樣
Setup!B1= D:\report\[20131106 銷貨.xls]

我又在 名稱 定義了 ref_point ="'"&Setup!$B$1&Setup!$B$8&"'!"

如果在儲存格直接填入 ref_point ='D:\report\[20131106 銷貨.xls]Sheet4'!

接著我參考的 luhpro 的寫法  儲存格=indirect(ref_point&"A7",1)  終於可以抓到另一個檔案的資料了

目前的進度

https://dl.dropboxusercontent.com/u/12575824/Book3.xls

現在有兩個問題

一、indirect(ref_point&"A7",1) 會顯示 #REF! ,除非將 D:\report\20131106 銷貨.xls 開啟

二、indirect(ref_point&"A7",1) copy 到其它儲存格, a7不會遞增成 a8 a9 a10 a11....

請高手幫幫忙,這兩個問題怎麼克服,謝謝:'(

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題