作者nash30113 (生活艺术家)
看板Office
标题[算表] VBA汇入外部档案问题
时间Thu Oct 31 21:17:54 2019
软体:Excel
版本:2010
之前在书上有学到如何汇入外部档案的范例
现在实际汇入的需求跟书上的范例用起来有点不同
不知道VBA档案可以怎麽改,求救版上高手相助
1.汇入的档案皆只有一个工作表,汇入後希望工作表名称等於档名。
如:汇入档名为"2009交易纪录",工作表名称即显示"2009交易纪录"
(现在的档案汇入会是原"2009交易纪录"的工作表名称"2009年7月")
2.重覆汇入相同档名的档案,汇入後可以直接取代原工作表,不要显示工作表(2)
如:重覆汇入档名为"2009交易纪录",直接将原工作表"2009交易纪录"取代为新档案的资料
(现在的档案汇入会新增一个工作表"2009年7月(2)"的工作表)
不知道若要符合这两个需求档案该如何更改?
档案如下连结:
http://0rz.tw/YnvHn
http://0rz.tw/Av2os
感谢各位!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.24.150.130 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1572527878.A.B90.html
1F:→ soyoso: 1.要以档名的话,a)hyperlinks.follow前以selection的 10/31 22:08
2F:→ soyoso: range来取得hyperlinks.address 10/31 22:08
3F:→ soyoso: b)hyperlinks.follow後activeworkbook. 10/31 22:08
4F:→ soyoso: name 10/31 22:08
5F:→ soyoso: 以上字串有含副档名,以instr或insterrev来找副档名的位 10/31 22:08
6F:→ soyoso: 置 10/31 22:08
7F:→ soyoso: 2.set 变数=sheets(上述字串),於on error resume next下 10/31 22:08
8F:→ soyoso: ,判断为nothing的话表无该工作表名称就执行原sheets.add 10/31 22:08
9F:→ soyoso: 且将strmainfilename的activesheet.name改为1所取得字串 10/31 22:08
10F:→ soyoso: 非nothing时,取代方面cells.clear,sheets的工作表名称以 10/31 22:08
11F:→ soyoso: allsheetnames(1),cells.copy到变数的储存格a1内 10/31 22:08
12F:→ nash30113: 感谢S大回覆!! 我研究看看... 10/31 22:49
13F:→ nash30113: 发现功力不太够..能否示范一下完整程式码该怎麽写? 10/31 23:39
15F:→ soyoso: 态再自订或宣告 11/01 07:49
16F:→ nash30113: 感谢S大详细指导! 我回去会再试试! 11/01 12:31
照S大的程式码,目前看起来快完成了
但卡在最後取代进原工作表的部分不知道怎麽改
我写的如下,但这样似乎没有办法把新资料贴进去
再请协助指导一下怎麽改这一段
https://imgur.com/yRnNgOM
※ 编辑: nash30113 (114.24.150.130 台湾), 11/01/2019 23:46:02
17F:→ soyoso: c.cells.clear 11/02 06:30
18F:→ soyoso: ...cells.copy c.range("a1") 11/02 06:30
19F:→ nash30113: S大早安~ 测试成功!! 非常感谢你的协助~^_^ 11/02 09:45