作者jrsh0906 (DTI)
看板Office
標題[算表] vba繪圖問題
時間Mon Apr 22 18:28:17 2019
軟體: excel
版本: office365
最近寫了一點vba來幫忙整理數據
但是在作圖的時候遇到了問題
一樣的code,在單一檔案執行,出來的是預期的圖
https://imgur.com/Fkr0YCU.jpg
斜直線,I-V 圖
但是另外加了一次讀資料夾內所有數據檔
整理,並把結果存成獨立worksheet的code後
在執行到作圖的部份時,出來的圖卻抓到了不對的資料
https://imgur.com/1oKGo3k.jpg
變成V1,I1,V1對I作圖...
作圖部份的code在此:
https://pastebin.com/CtXQWgw4
我是用錄製的,再做些許修改
用逐行執行debug的時候,發現是在line5~7那裡出來的圖就抓錯資料了
感謝看到最後的您
希望能有人解惑
--
You make the choice, and this is your price.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.20.139
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1555928906.A.6C2.html
1F:→ soyoso: 看是否也提供部分資料(會產生非預期圖表)的部分,配合已有 04/22 18:38
2F:→ soyoso: 的巨集來模擬也比較清楚 04/22 18:39
全部的code:
模組一
https://pastebin.com/KHGxYxTr
模組二
https://pastebin.com/mekir4T6
模組一是要把指定的資料夾內所有csv檔都複製到新開的workbook
每個檔案一個worksheet
我預期的流程是把csv檔複製到新的worksheet後,把raw data做處理
再開啟下一個csv重複一樣的流程
※ 編輯: jrsh0906 (36.226.176.43), 04/22/2019 20:45:57
3F:→ soyoso: 有完整巨集,再提供部分資料(會產生非預期圖表),這樣測試 04/22 23:19
4F:→ soyoso: ,來看出來的圖卻抓到了不對的資料的原因是什麼,會比較清 04/22 23:20
5F:→ soyoso: 楚 04/22 23:20
6F:→ soyoso: 模組二,程序作圖的部分,setsourcedata來源的範圍,不指 04/23 07:59
7F:→ soyoso: 定整欄,如要作圖的資料筆數固定的話,就以a1:a100,b1:b10 04/23 08:00
8F:→ soyoso: 0,...常數的方式。 04/23 08:01
9F:→ soyoso: 如不固定以range.end、range.find,連續資料的話也可以工 04/23 08:01
10F:→ soyoso: 作表函數count或counta來取得最後一筆資料的列號 04/23 08:02
11F:→ soyoso: range.end和range.find為取得儲存格,要回傳列號的話,則 04/23 08:04
12F:→ soyoso: 以range.row 04/23 08:04
補充:
在S大幫忙下,找到了問題
之所以單檔執行都正常(作圖正常、沒有多餘的資料留存)
多檔則會出問題
是因為開啟csv的方式不一樣導致
先前都沒有注意到這,所以都de不出bug
https://imgur.com/g3LzNiQ.jpg
A是多檔執行時,用匯入精靈匯入的結果
B則是單檔執行時,我自己在資料夾開啟csv檔的結果
※ 編輯: jrsh0906 (140.114.20.139), 04/23/2019 13:12:07