[算表] VBA合并绘图

楼主: jasonhsu14 (小健人)   2017-12-27 17:23:31
软件:Excel
版本:2003
大家好,不才小弟我希望绘制K线图,并在图上特定价格标示出来
先附上资料图与目前的绘图结果

A就是我欲放在下方横轴的日期
B~E就是绘制K线图所用的资料
而H跟I则是我欲在K图上标示出来的特定价格
叉叉是对应H字段的资料、菱形是对应I栏
目前碰到最大的第一个问题是1
0/19的价格2是没有价格的,照理说10/19的K线不该出现菱形,但却出现在10/19了....
初步观察觉得是因为I2是第一笔资料
而第一笔资料又是空白字段,所以程式会自动寻找有值的资料(I3),做为第一笔资料
但我希望第一笔资料若是空白时,会直接跳到下一天,而非寻找有值的资料当第一笔
下图为我的程式码

我的程式主要顺序为,先制作K线图,再加入XY散布图,最后再设定横轴日期与纵轴范围
想麻烦各位版友协助,为避免出现上述10/20的资料在图上跑到10/19去的问题
程式上我有什么地方需要修改
另外,第二个问题想请教最下面出现错误的那边,是因为版本2003而出错吗?
因为我印象中,同样的写法套用在2010没出错
若是的话,可以如何修改?
补充:Cells(36,"C")与Cells(35,"C")分别为K线图资料中的最小值与最大值
再请教第三与第四个问题,AxisGroup应该是指我将该Collection也并入主图吧?
设定横轴日期与纵轴范围的顺序是否会影响画图出来的结果?
因为我若先设定纵轴范围与横轴日期再绘K图也有出错...
上述问题有点多,还先谢谢协助处理的版友们,谢谢
若版大们有更好的写法希望可供参考
作者: soyoso (我是耀宗)   2017-12-27 18:41:00
问题二,如出现为型态不符合,错误13https://i.imgur.com/qmQ7ldl.png 的话,可在最小值与最大上方各加上chart.select试试,测试上暂无产生错误问题1为将储存格i2当成标签了,可于seriescollection.add后面加上参数serieslabels为false
楼主: jasonhsu14 (小健人)   2017-12-27 19:29:00
那想询问一下,把i2当标签的话,为什么H2却没这问题?
作者: soyoso (我是耀宗)   2017-12-27 19:35:00
指定h栏和i栏范围的第一笔为h2,i2分别为数字和空白储存格是否excel因此而判断上将i2当标签,这方面可测试看看
楼主: jasonhsu14 (小健人)   2017-12-27 20:03:00
S大这么一说,好像真的很有可能!!也谢谢妳的协助
作者: soyoso (我是耀宗)   2017-12-28 10:51:00
minimumscale和maximumscale上方各加上chtobj.select
楼主: jasonhsu14 (小健人)   2017-12-28 12:01:00
谢谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com