Re: [新問題]每日抓取昨日檔案的寫法

看板Visual_Basic作者 (小儒)時間7年前 (2016/10/22 15:56), 7年前編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
大家好,小弟後來自己亂試,一度用以下的語法成功了,但是後來卻不知道為什麼都一直失敗 每次跑出來的結果都會是#REF! 不知道是不是他還是無法連結到我要連結的檔案呢? 想懇請高手們幫我看看,我該怎麼做比較好? Sub NeedHelp() Application.DisplayAlerts = False a = InputBox("請輸入前一日檔案名稱", "輸入前日日期", "Daily Report 2016") Worksheets("D1").Range("E57").Formula = "='C:\Users\Desktop\Files\[a.xlsx]D1'!$E$41" Worksheets("D1").Range("F57").Formula = "='C:\Users\Desktop\Files\[a.xlsx]D1'!$F$41" Worksheets("D3").Range("E57").Formula = "='C:\Users\Desktop\Files\[a.xlsx]D3'!$E$41" Worksheets("D3").Range("F57").Formula = "='C:\Users\Desktop\Files\[a.xlsx]D1'!$F$41" End Sub 其中,因為我的檔案名稱是Daily Report 2016xxxx.xlsx 我想要做到的是InputBox跳出來,會顯示"Daily Report 2016"然後我只要輸入例如說1020 他就會去抓取Daily Report 20161020.xlsx裡面的資料 D1跟D3分別是兩張工作表 因為我每天會生成一份新的報表,但要對照前一日的資料 所以我想要在10/21的檔案裡面,D1這個工作表去抓取10/20檔案裡面D1工作表的資料,D3也是 所以我希望我能讓他跳出InputBox,然後我輸入1020就搞定這件事情 希望大家可以救救我!謝謝!! ※ 引述《handsomefun (小儒)》之銘言: : 大家好,小弟想請問一個關於自動抓去昨日檔案的儲存格內容的方式 : 因為我的工作必須每日生成一份報表 : 然後改日期並儲存成新的檔案 : 但是每天都會用到前一日的檔案 : 我知道如何用VBA去抓去跨檔案的資料 : 但不知道能不能配合上自動偵測檔名去抓取資料呢?? : 例如今日的檔案名稱叫做“檔案1021” : 能不能讓VBA自動去抓取“檔案1020”的資料?? : 目的是希望可以不用改巨集內的檔案名稱,只要我將檔案本身名稱改變並另存新檔,然後執行巨集就可以抓到前一天的資料?? : 請各位大大幫幫忙 : 謝謝!! : ----- : Sent from JPTT on my LGE LG-H815. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.100.250 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1477122985.A.5F4.html ※ 編輯: handsomefun (118.168.100.250), 10/22/2016 15:57:27

10/23 09:21, , 1F
input box 輸入完之後,加一句把昨日檔案開啟試試看?
10/23 09:21, 1F

10/23 09:34, , 2F
我有試過openfile。檔案是可以開啟沒錯,但還是會#RE
10/23 09:34, 2F

10/23 09:34, , 3F
F!...Orz
10/23 09:34, 3F

10/23 12:13, , 4F
公式是一個字串 中間插進a要先切開 然後用 & 連接
10/23 12:13, 4F

10/23 12:14, , 5F
例如 "[" & a & "]!a1:b1"
10/23 12:14, 5F

10/23 13:03, , 6F
!!! 成功了!!
10/23 13:03, 6F

10/23 13:03, , 7F
謝謝大大!!!
10/23 13:03, 7F

10/28 09:52, , 8F
非常好… (y)
10/28 09:52, 8F
文章代碼(AID): #1O2nkfNq (Visual_Basic)