檔案test2 a1:a30儲存格 = test1 a1:a30儲存格
開啟test2與tsst1檔案同時,test2會自動更新連結
但只要test1檔名的數字變更,test2開啟檔案就會找不到連結
請問,test2的儲存格參照是否可改設定公式,只抓關鍵字檔名test,無論test後面的數字1怎麼變更,都還是參照得到test1的a1:a30儲存格資料
例如:test1改為test123或改為test0608或改為test王小明,以上test2 a1:a30儲存格均能參照得到test* a1:a30儲存格
請問以上是否有解呢?
測試檔http://www.FunP.Net/192353
試了一下有類似的做法,但需要妳手動先把這個檔案打開("開啟狀態",否則動態參照會顯示REF錯誤),使用excel的INDIRECT 來取得動態的檔名
範例檔放在這:
https://drive.google.com/open?id=1fEFaQUQMphi7eM9Y4rtQ8O_uNJrqKoKV
1.testExcel/getFile.xlsm :
這是巨集放的excel 打開後有個按鈕,點選可以取得指定資料夾的檔案名稱,並放在excel的B2欄位。
2.testExcel/target 資料夾 (請只放一個檔案,因為我參照寫在B2欄位 @@)
你的目標檔案放的資料夾: 舉例放test2.xlsx
做法:
1.將 getFile.xlsm 跟 test2.xlsx 都打開。
2. getFile.xlsm 點選自動抓取檔案,會將檔名更新到B2欄位。
3. getFile.xlsm 的A排,會抓B2欄位的檔名,動態取得B2工作檔案的檔名。
----------------------------------分隔線-------------------------------
1.在excel要動態加載某個儲存格的變數,可以這樣做=INDIRECT("'"&"C:\testExcel\target\"&"["&B3&".xlsx]"&"工作表1"&"'!"&"A1")
2.VBA自動抓取目錄底下的檔案語法 (目錄資料夾請只放一個檔案 )
Sub getFile()
Cells(1, 1).Activate
File = InputBox("請輸入要取得的資料夾路徑:", "", "C:\testExcel\target")
If File = "" Then Exit Sub
txt = Dir(File & "\*.*")
Do While True
Selection.Cells(1).Value = txt
txt = Dir
If txt <> "" Then
Selection.Offset(1, 0).Select
Else
Exit Do
End If
Loop
End Sub