【发布时间】:2013-06-06 04:28:27
【问题描述】:
我会尽量准确地解决我的问题,但如果您有任何问题,请提出!
所以基本上我有一列 A 充满日期(从第 1 行到第 80 行)和一列 B 充满值(股票价格,也具有相同的范围)。 我用这段代码创建了一个图表:
Sub Chart()
Range(Cells(1, 1), Cells(80, 1))Select
Range(Selection, Selection.Offset(0, 1)).Select
Set rSource=selection
ActiveChart.SetSourceData Source:=rSource, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
end sub
所以这不是图表对象,而是新工作表上的新图表(我之所以这么说,是因为我在这个主题上阅读的所有内容都是处理图表对象,而不是单独处理工作表中的图表)。 现在我需要在两个日期之间画一条水平线(一条支撑线)。 例如,我需要在 01/01/2013(第 1 行)和 06/25/2013(第 80 行)之间画一条线。 这条线必须保持在 y 轴上的同一水平(这就是我们所说的水平线 :))与 2013 年 1 月 1 日的股价水平。
我试过了:
Sub supportline()
Dim CoordA As Variant
CoordA = [a1:b80]
ActiveChart.Shapes.AddLine(CoordA(1, 1), CoordA(1, 2), CoordA(80, 1), CoordA(80, 2)).Select
end sub
但是这条线没有画在我想要的地方。我认为存在比例问题,但我无法弄清楚如何获得准确的坐标。
非常感谢您的宝贵时间和帮助
编辑(2013 年 6 月 11 日) 我已经简化了数据库来说明我的问题:http://cjoint.com/?CFksHluf0VD 我试图在两个日期(01/01/2013 和 16/01/2013)之间划一条线
如果您下载此文件,您将在 VBA 部分看到:1/ Test1:我尝试制作一条线来链接图表的 2 个点:如果您启动子程序,您会看到这条线已绘制但在错误的比例和错误的位置 2/ 测试 2:我试图在两点之间画一条水平线,但这根本不起作用
测试 2 是我需要为我的原始项目做的(一条从一个日期到另一个日期的水平线,具有相同的 y 值)
【问题讨论】:
-
不,这只是一个例子,但我需要从两个日期开始画线,这两个日期不是该系列的第一个和最后一个数据。我必须用 VBA 代码来做。
-
对不起,我没有回答你的第二个问题。当我说工作表时,我的意思是我的图表在图表(集合)中是单独的。如果你不明白,你可以下载我上一篇文章中的文件