作者handsomefun (小儒)
看板Visual_Basic
标题Re: [新问题]每日抓取昨日档案的写法
时间Sat Oct 22 15:56:22 2016
大家好,小弟後来自己乱试,一度用以下的语法成功了,但是後来却不知道为什麽都一直失败
每次跑出来的结果都会是#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://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1477122985.A.5F4.html
※ 编辑: handsomefun (118.168.100.250), 10/22/2016 15:57:27
1F:推 olycats: input box 输入完之後,加一句把昨日档案开启试试看? 10/23 09:21
2F:→ handsomefun: 我有试过openfile。档案是可以开启没错,但还是会#RE 10/23 09:34
3F:→ handsomefun: F!...Orz 10/23 09:34
4F:→ MOONRAKER: 公式是一个字串 中间插进a要先切开 然後用 & 连接 10/23 12:13
5F:→ MOONRAKER: 例如 "[" & a & "]!a1:b1" 10/23 12:14
6F:→ handsomefun: !!! 成功了!! 10/23 13:03
7F:→ handsomefun: 谢谢大大!!! 10/23 13:03
8F:→ MOONRAKER: 非常好… (y) 10/28 09:52