[算表] 在固定档案名称规则下抓取档案内资料?

楼主: jinnit09786 (乐在棋中)   2018-04-23 13:48:58
软件:EXCEL
版本:2010
情境:
在固定的资料夹内每日自动产生一报表(D:\XXXX\parameter20180423131053)(即年/月/日
/时/分/秒的格式)
假设今天资料夹内有以下五个xls档案,名称如下:
parameter20180423090937.xlsx
parameter20180424090959.xlsx
parameter20180425091014.xlsx
parameter20180426091021.xlsx
parameter20180427091028.xlsx
个别问题:
1.我想要制作一个总表,在该总表的A1储存格显示“抓取上述5个档案的固定F4储存格之
加总值”。
2.做一个选项按钮,当下拉式清单切换月份为05时,点选月表按钮,可以自动抓取05月
份的01~31的固定储存格之加总值显示在A1储存格。(即主问题点是在如何仅从部分档名”
0501”~”0531”相符,就抓取该资料的某储存格之值?因最尾端时间可能不固定,故只能
从部分档名,或第几个字节来做处理)
3. 当同一日的报表有1个以上,只抓取最后纪录时间的xlsx档。(设23:59:59为最后纪录
时间)
不好意思问题有点冗长,恳请能提供一点相关功能的提示,让我能从买来的范例书(VBA
757个范例)中寻找相关对策。
作者: soyoso (我是耀宗)   2018-04-23 14:05:00
dir配合循环来抓档名,可以*(万用字符)问题3,设个变量,dir循环于同一日判断时间部分(mid取出)和变量那个大,为真则写入变量内,来取得最后纪录时间的档名有档名且知道工作表名称的话,可以worksheets.open来抓取不开档的话,可于总表任一储存格以='路径\[完整档名]工作名称'!储存格位置来取得该值如原文名称长度固定,可以mid(档名,18,6)来取得或以replace取代".xlsx"为""后,right取6位知道工作表名称,不开档方面也可以ado,getstring来取得原文所写到储存格f4的值可以任一储存格内以='路径\[完整档名]工作名称'!储存格位置来取得该值,再以变量=储存格,传回变量
楼主: jinnit09786 (乐在棋中)   2018-04-23 15:14:00
谢谢!!终于打通了,做二段处理就可以达到了,太感谢S大无私传授了。
作者: soyoso (我是耀宗)   2018-04-23 22:32:00
是指不开启档案且不透过任一储存格来取得吗?无法写入储存格的位址是指?因不太了解回文的意思,原po要不要举例或截个图看看"='路径\[" & range("a1") & "]工作表1'!储存格" 方式连接
楼主: jinnit09786 (乐在棋中)   2018-04-23 23:22:00
作者: soyoso (我是耀宗)   2018-04-23 23:26:00
以上回文的是从vba内所执行的,工作表资料编辑列(公式列)并无法用range()
楼主: jinnit09786 (乐在棋中)   2018-04-24 21:07:00
S大您好,经过您的帮助,第三题我以较土法炼钢的方式完成了,如下两张图,但仍想请教您,我有没有更好的应用变量的方式来做判别呢?现在我只会比较土的一个一个列出来,想要更有效率的撰写来达到目的。谢谢!!https://imgur.com/lltABh1https://imgur.com/Ey8GHtS
作者: soyoso (我是耀宗)   2018-04-25 08:28:00

Links booklink

Contact Us: admin [ a t ] ucptt.com