在excel中尝试用程序来画股票图,第一稿的语言写的非常辛苦,学习了论坛里很多高手的经验;这几天又学会了第二种方法,直接调用vba自带的画图方法,程序非常简洁,在此基础上,程序叠加更多的功能也是非常方便的,现在把代码发到论坛里,希望大家能少走弯路,直达罗马,谢谢。
Sub 画股票图()
Dim i, endrow
endrow = [a1].End(xlUp).Row
’ Call 清除
Range("Sheet1!A1:E7").Select
ActiveSheet.Shapes.AddChart2(322, xlStockOHLC).Select
ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$E$7")
ActiveChart.ChartGroups(1).UpBars.Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveChart.ChartGroups(1).DownBars.Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 255, 0)
.Transparency = 0
.Solid
End With
For i = 8 To 100 '实际绘图时可以将20替换成endrow,实现动态效果
ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$E$" & i)
'Application.Wait (Now + TimeValue("0:00:01")) '延时
Next
End Sub
在这个的基础上,再增加买卖标志和箭头。