作者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/m.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