[算表] VBA匯入外部檔案問題

看板Office作者 (生活藝術家)時間6年前 (2019/10/31 21:17), 6年前編輯推噓0(0019)
留言19則, 2人參與, 6年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1572527878.A.B90.html

10/31 22:08, 6年前 , 1F
1.要以檔名的話,a)hyperlinks.follow前以selection的
10/31 22:08, 1F

10/31 22:08, 6年前 , 2F
range來取得hyperlinks.address
10/31 22:08, 2F

10/31 22:08, 6年前 , 3F
b)hyperlinks.follow後activeworkbook.
10/31 22:08, 3F

10/31 22:08, 6年前 , 4F
name
10/31 22:08, 4F

10/31 22:08, 6年前 , 5F
以上字串有含副檔名,以instr或insterrev來找副檔名的位
10/31 22:08, 5F

10/31 22:08, 6年前 , 6F
10/31 22:08, 6F

10/31 22:08, 6年前 , 7F
2.set 變數=sheets(上述字串),於on error resume next下
10/31 22:08, 7F

10/31 22:08, 6年前 , 8F
,判斷為nothing的話表無該工作表名稱就執行原sheets.add
10/31 22:08, 8F

10/31 22:08, 6年前 , 9F
且將strmainfilename的activesheet.name改為1所取得字串
10/31 22:08, 9F

10/31 22:08, 6年前 , 10F
非nothing時,取代方面cells.clear,sheets的工作表名稱以
10/31 22:08, 10F

10/31 22:08, 6年前 , 11F
allsheetnames(1),cells.copy到變數的儲存格a1內
10/31 22:08, 11F

10/31 22:49, 6年前 , 12F
感謝S大回覆!! 我研究看看...
10/31 22:49, 12F

10/31 23:39, 6年前 , 13F
發現功力不太夠..能否示範一下完整程式碼該怎麼寫?
10/31 23:39, 13F

11/01 07:49, 6年前 , 14F
類似這樣,變數名稱或型
11/01 07:49, 14F

11/01 07:49, 6年前 , 15F
態再自訂或宣告
11/01 07:49, 15F

11/01 12:31, 6年前 , 16F
感謝S大詳細指導! 我回去會再試試!
11/01 12:31, 16F
照S大的程式碼,目前看起來快完成了 但卡在最後取代進原工作表的部分不知道怎麼改 我寫的如下,但這樣似乎沒有辦法把新資料貼進去 再請協助指導一下怎麼改這一段 https://imgur.com/yRnNgOM
※ 編輯: nash30113 (114.24.150.130 臺灣), 11/01/2019 23:46:02

11/02 06:30, 6年前 , 17F
c.cells.clear
11/02 06:30, 17F

11/02 06:30, 6年前 , 18F
...cells.copy c.range("a1")
11/02 06:30, 18F

11/02 09:45, 6年前 , 19F
S大早安~ 測試成功!! 非常感謝你的協助~^_^
11/02 09:45, 19F
文章代碼(AID): #1Tkjy6kG (Office)
文章代碼(AID): #1Tkjy6kG (Office)