VBA自动生成图表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sub BatchPlot()

Dim i

For i = 2 To 10

Charts.Add

'增加一个图表

ActiveChart.ChartType = xlLineMarkers

'设置图表类型为折线图

ActiveChart.SetSourceData Source:=Sheets("批量绘图").Range("A1:D1," & "A" & i & ":D" & i), PlotBy:=xlRows

'设置图表的数据源

ActiveChart.Location Where:=xlLocationAsObject, Name:="批量绘图"

'设置图表的位置为当前工作表中

ActiveChart.Parent.Top = 220 * (i - 2)

'设置图表的上下间隔为220磅

ActiveChart.Parent.Left = 456

'设置图表距左为456磅

Next i

End Sub

以完成的

Sub BatchPlot()

'Set ab = Range("H7:Q23") '生成图表的位置

Set ab = Range(Cells(7, 8), Cells(23, 17))

Set bbb = ActiveSheet.ChartObjects.Add(0, 0, 0, 0)

bbb.Chart.ChartType = xlLineMarkers '折线图

bbb.Chart.SetSourceData Source:=Sheets("Sheet1").Range("C1:C128") '数据源

'ActiveChart.Location Where:=xlLocationAsObject, Name:="批量绘图"

'设置图表的位置为当前工作表中

With bbb

.Top = ab.Top

.Left = ab.Left

.Width = ab.Width

.Height = ab.Height

End With

End Sub

Sub BatchPlot()

Dim i As Long

For i = 1 To 42988 Step 21

i = 1

Set ab = Range(Cells(i + 1, 9), Cells(i + 20, 17))

'Set ab = Range(Cells(9, 2), Cells(15, 21))

Set bbb = ActiveSheet.ChartObjects.Add(0, 0, 0, 0)

bbb.Chart.ChartType = xlLineMarkers '折线图

bbb.Chart.SetSourceData Source:=Sheets("Sheet2").Range(Cells(i + 1, 7), Cells(i + 20, 7)) '数据源

'bbb.Chart.SetSourceData Source:=Sheets("Sheet1").Range(Cells(7, 2), Cells(7, 21))

With bbb

.Top = ab.Top

.Left = ab.Left

.Width = ab.Width

.Height = ab.Height

End With

Next

End Sub

相关文档
最新文档