用下面代码可以在A7:G13位置生成图表,图表的数据源是sheet2表的A1:B5 Sub 在指定位置生成图表() Set ab = Range("a7:g13") '生成图表的位置 Set bbb = ActiveSheet.ChartObjects.Add(0, 0, 0, 0) bbb.Chart.ChartType = xlColumnClustered '柱形图 bbb.Chart.SetSourceData Source:=Sheets("Sheet2").Range("A1:B5") '数据源 With bbb .Top = ab.Top .Left = ab.Left .Width = ab.Width .Height = ab.Height End With End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Macro1()
'
' Macro1 Macro
' 宏由 xtu 录制,时间: 2013/5/17
'
'
'Selection.ColumnWidth = 18.38
Dim myData As String, sh As String
'定义变量myData, sh为字符型
myData = Selection.Address
'设置变量myData为当前选取的单元格区域
sh = ActiveSheet.Name
'设置变量sh为当前工作表的名称
Charts.Add
'添加图表
ActiveChart.ChartType = xlColumnClustered
'图表类型为柱形图
ActiveChart.SetSourceData Source:=Sheets(sh).Range(myData), PlotBy:=xlColumns
'设置图表数据源为myData(当前选取的单元格区域),数据系列为数据源中的列。
ActiveChart.Location Where:=xlLocationAsObject, Name:=sh
'设置图表的位置是当前工作表sh
With ActiveChart
'设置图表的各项参数
.HasTitle = True
'有图表标题
.ChartTitle.Characters.Text = "Snood 图表标题"
'图表标题的文字
.Axes(xlCategory, xlPrimary).HasTitle = True
'有主要横坐标标题
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "主要横坐标"
'设置主要横坐标标题的文字
.Axes(xlValue, xlPrimary).HasTitle = True
'有主要纵坐标标题
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "主要纵坐标"
'设置主要纵坐标标题的文字
End With
'结束设置图表的参数
ActiveChart.ChartArea.Select
End Sub