图
Sub char1()
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B4")
ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:=False, ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
End Sub
Function MyChart(Optional ByVal MyChart_Name As String = "我的图表", Optional ByVal MyChart_Type As XlChartType =
xlColumnClustered, _
Optional ByVal MyChart_Source As Range = Nothing, Optional ByVal MyChart_Plotby As XlRowCol = xlRows, _
Optional ByVal MyChart_Title As Boolean = True, Optional ByVal MyChart_TitleText As String = "标题", _
Optional ByVal MyChart_HasLegend As Boolean = False, _
Optional ByVal MyChart_Left As Integer = 420, Optional ByVal MyChart_Top As Integer = 250, _
Optional ByVal MyChart_Width As Integer = 300, Optional ByVal MyChart_Height As Integer = 200) As Boolean
参数(可选):
MyChart_Name As String = "我的图表" 字符型,设置图表的名称,默认值="我的图表"
MyChart_Type As XlChartType = xlColumnClustered XlChartType枚举,设置图表类型,默认值=xlColumnClustered簇状柱形图
MyChart_Source As Range = Nothing 单元格对象,设置图表数据源,默认为空
MyChart_Plotby As XlRowCol = xlRows XlRowCol枚举,设置图表数据系列的数值是处于行中还是列中,默认值=xlRows行中
MyChart_Title As Boolean = True 布尔型,设置图表有可见标题,默认值=True有可见标题
MyChart_TitleText As String = "标题" 字符型,设置图表的标题文本,默认值="标题"
MyChart_HasLegend As Boolean = False 布尔型,设置图表有图例,默认值=False没有图例
MyChart_Left As Integer = 420 整型,设置图表的左边距,默认值=420
MyChart_Top As Integer = 250 整型,设置图表的上边距,默认值=250
MyChart_Width As Integer = 300 整型,设置图表的宽度,默认值=300
MyChart_Height As Integer = 200 整型,设置图表的高度,默认值=200
以下为函数代码:
Function MyChart(Optional ByVal MyChart_Name As String = "我的图表", Optional ByVal MyChart_Type As XlChartType =
xlColumnClustered, _
Optional ByVal MyChart_Source As Range = Nothing, Optional ByVal MyChart_Plotby As XlRowCol = xlRows, _
Optional ByVal MyChart_Title As Boolean = True, Optional ByVal MyChart_TitleText As String = "标题", _
Optional ByVal MyChart_HasLegend As Boolean = False, _
Optional ByVal MyChart_Left As Integer = 420, Optional ByVal MyChart_Top As Integer = 250, _
Optional ByVal MyChart_Width As Integer = 300, Optional ByVal MyChart_Height As Integer = 200) As Boolean
Dim Mych As ChartObject '声明变量为嵌入式图表对象
On Error Resume Next '如出错,则从出错行下一行开始执行
Set Mych = ActiveSheet.ChartObjects(MyChart_Name) '设置对象
'MsgBox Err.Number
If Err.Number = -2147024809 Then '设置对象出错,没有对象
Set Mych = ActiveSheet.ChartObjects.Add(MyChart_Left, MyChart_Top, MyChart_Width, MyChart_Height) '添加嵌入图表,设置对
象
Mych.Name = MyChart_Name '设置对象名称
End If
Err.Clear '清除Err对象
On Error GoTo Myerr '如出错,则执行Myerr语句
With Mych.Chart
.ChartType = MyChart_Type '图表类型为xlLineMarkers_数据点折线图
.HasTitle = MyChart_Title '图表标题,可见则为 True
If MyChart_Title Then .ChartTitle.Characters.Text = MyChart_TitleText '图表标题文本
'.ChartTitle.Characters.Font.Size = 12 '设置标题的字号
.SetSourceData Source:=MyChart_Source, PlotBy:=MyChart_Plotby '为指定图表设置源数据区域
.HasLegend = MyChart_HasLegend '为False ,图表没有图例
End With
Mych.Activate '对象激活
MyChart = True '本函数返回True
Exit Function '退出函数
Myerr:
MyChart = False '本函数返回False
End Function
指定图表类型。
名称 值 描述
xl3DArea -4098 三维面积图。
xl3DAreaStacked 78 三维堆积面积图。
xl3DAreaStacked100 79 百分比堆积面积图。
xl3DBarClustered 60 三维簇状条形图。
xl3DBarStacked 61 三维堆积条形图。
xl3DBarStacked100 62 三维百分比堆积条形图。
xl3DColumn -4100 三维柱形图。
xl3DColumnClustered 54 三维簇状柱形图。
xl3DColumnStacked 55 三维堆积柱形图。
xl3DColumnStacked100 56 三维百分比堆积柱形图。
xl3DLine -4101 三维折线图。
xl3DPie -4102 三维饼图。
xl3DPieExploded 70 分离型三维饼图。
xlArea 1 面积图
xlAreaStacked 76 堆积面积图。
xlAreaStacked100 77 百分比堆积面积图。
xlBarClustered 57 簇状条形图。
xlBarOfPie 71 复合条饼图。
xlBarStacked 58 堆积条形图。
xlBarStacked100 59 百分比堆积条形图。
xlBubble 15 气泡图。
xlBubble3DEffect 87 三维气泡图。
xlColumnClustered 51 簇状柱形图。
xlColumnStacked 52 堆积柱形图。
xlColumnStacked100 53 百分比堆积柱形图。
xlConeBarClustered 102 簇状条形圆锥图。
xlConeBarStacked 103 堆积条形圆锥图。
xlConeBarStacked100 104 百分比堆积条形圆锥图。
xlConeCol 105 三维柱形圆锥图。
xlConeColClustered 99 簇状柱形圆锥图。
xlConeColStacked 100 堆积柱形圆锥图。
xlConeColStacked100 101 百分比堆积柱形圆锥图。
xlCylinderBarClustered 95 簇状条形圆柱图。
xlCylinderBarStacked 96 堆积条形圆柱图。
xlCylinderBarStacked100 97 百分比堆积条形圆柱图。
xlCylinderCol 98 三维柱形圆柱图。
xlCylinderColClustered 92 簇状柱形圆锥图。
xlCylinderColStacked 93 堆积柱形圆锥图。
xlCylinderColStacked100 94 百分比堆积柱形圆柱图。
xlDoughnut -4120 圆环图。
xlDoughnutExploded 80 分离型圆环图。
xlLine 4 折线图。
xlLineMarkers 65 数据点折线图。
xlLineMarkersStacked 66 堆积数据点折线图。
xlLineMarkersStacked100 67 百分比堆积数据点折线图。
xlLineStacked 63 堆积折线图。
xlLineStacked100 64 百分比堆积折线图。
xlPie 5 饼图。
xlPieExploded 69 分离型饼图。
xlPieOfPie 68 复合饼图。
xlPyramidBarClustered 109 簇状条形棱锥图。
xlPyramidBarStacked 110 堆积条形棱锥图。
xlPyramidBarStacked100 111 百分比堆积条形棱锥图。
xlPyramidCol 112 三维柱形棱锥图。
xlPyramidColClustered 106 簇状柱形棱锥图。
xlPyramidColStacked 107 堆积柱形棱锥图。
xlPyramidColStacked100 108 百分比堆积柱形棱锥图。
xlRadar -4151 雷达图。
xlRadarFilled 82 填充雷达图。
xlRadarMarkers 81 数据点雷达图。
xlStockHLC 88 盘高-盘低-收盘图。
xlStockOHLC 89 开盘-盘高-盘低-收盘图。
xlStockVHLC 90 成交量-盘高-盘低-收盘图。
xlStockVOHLC 91 成交量-开盘-盘高-盘低-收盘图。
xlSurface 83 三维曲面图。
xlSurfaceTopView 85 曲面图(俯视图)。
xlSurfaceTopViewWireframe 86 曲面图(俯视线框图)。
xlSurfaceWireframe 84 三维曲面图(线框)。
xlXYScatter -4169 散点图。
xlXYScatterLines 74 折线散点图。
xlXYScatterLinesNoMarkers 75 无数据点折线散点图。
xlXYScatterSmooth 72 平滑线散点图。
xlXYScatterSmoothNoMarkers 73 无数据点平滑线散点图。
指定对应于特定数据系列的数值是处于行中还是列中。
名称 值 描述
xlColumns 2 数据系列在行中。
xlRows 1 数据系列在列中。