|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 John1990 于 2018-6-6 19:28 编辑
请教大神,根据指定日期的开始和结束时间段,绘制折线图时碰到1004错误问题
说明
1、draw是根据指定区域绘制折线图,X轴和Y轴的区域数据是输入参数
2、main过程,使用range的已知区域数据代入,没问题,但是使用Cells表示的区域数据代入时,报“1004”错误
3、之所以使用cells代表区域数据,是因为cells内的行、列数据是需要经过计算的,是可变的,这个可变的部分还没代入,用一般数据代入就报错了
请大神指导下,谢谢
Sub draw(rng1, rng2 As Range)
Dim ch As ChartObject
Dim S1 As String
S1 = Range("A13")
On Error GoTo err:
Worksheets("sheet1").ChartObjects("动态").Delete '确保这是唯一的图
err:
Set ch = Worksheets("主页").ChartObjects.Add(80, 185, 1200, 380) '定义位置及大小
ch.Name = "动态" '图表定名
With ch.Chart
.ChartType = xlLine
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = rng2
.SeriesCollection(1).XValues = rng1
.SeriesCollection(1).Name = S1 '"姓名"
End With
ch.Chart.SeriesCollection(1).AxisGroup = 1
ch.Chart.SeriesCollection(1).MarkerStyle = xlNone
With ch.Chart.Axes(xlCategory).TickLabels '定义x轴即分类轴的字体和格式
.Font.Size = 8
.NumberFormatLocal = "m-d"
End With
Set rng1 = Nothing
Set rng2 = Nothing
Set rng3 = Nothing
Set ch = Nothing
End Sub
Sub main()
'Call draw(Worksheets("sheet1").Range("CP1:CY1"), Worksheets("sheet1").Range("CP10:CY10"))
Call draw(Worksheets("sheet1").Range(Cells(1, 80), Cells(1, 104)), Worksheets("sheet1").Range(Cells(2, 80), Cells(2, 104)))
End Sub
|
|