用下面代码可以在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