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