iT邦幫忙

0

求救Excel 高手: 擷取資料的巨集問題

最近想做一個巨集來擷取網路股票資訊,但巨集重複執行是會遇到以下問題:

https://ithelp.ithome.com.tw/upload/images/20210217/20135206mXzFPwgcFJ.png

原因是擷取資料的Table因為重複而出現錯誤,目前只能手動方式去刪除重複的table再執行...
請問,可以加入甚麼執行碼去自動刪除重複的table嗎?
https://ithelp.ithome.com.tw/upload/images/20210217/20135206G0vq2mqxj9.png

請各位Excel高手來幫幫我~~ 感激不盡!

看更多先前的討論...收起先前的討論...
ccutmis iT邦高手 4 級 ‧ 2021-02-17 17:12:50 檢舉
改用python 爬應該會比較好上手 網路教學很多
你是用證券公司提供的DDE抓取報價嗎?
https://w28822.pixnet.net/blog/post/249632120
t25007 iT邦新手 5 級 ‧ 2021-02-18 13:22:32 檢舉
@Japhenchen 我是使用Yahoo股市的網址抓取報價的~

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2021-02-18 12:25:33
最佳解答

以下代碼不只刪除「重覆」的 table
他會刪除所有的 table
如果你要使用
就放在巨集的最前面
這樣每次執行巨集都會像是第一次執行

While ActiveSheet.QueryTables.Count
    ActiveSheet.QueryTables(1).Delete
Wend

資料來源

看更多先前的回應...收起先前的回應...
t25007 iT邦新手 5 級 ‧ 2021-02-24 10:22:02 檢舉

我加入後, 表格還是無法刪除...https://ithelp.ithome.com.tw/upload/images/20210224/20135206TBuTE2J8au.png

好像有點搞混了
改成這樣試試看

While ActiveWorkbook.Queries.Count
    ActiveWorkbook.Queries(1).Delete
Wend
t25007 iT邦新手 5 級 ‧ 2021-02-24 15:30:30 檢舉

抱歉~~ 這欄:ActiveWorkbook.Queries.Delete Name:="Table 0 (4)" 是我測試這樣能否砍掉重複的表格...
原本我就是使用您所給的跑....但沒有成功...

好像有點搞混了-->是指我
我最後貼的程式碼與第一次的不同
有空不妨試試看

t25007 iT邦新手 5 級 ‧ 2021-03-03 10:25:12 檢舉

非常感謝你~ 我試過之後, 確實有效~~!!! /images/emoticon/emoticon32.gif

我要發表回答

立即登入回答