Excel-VBA-处理图形图表大全剖析.pdf
《Excel-VBA-处理图形图表大全剖析.pdf》由会员分享,可在线阅读,更多相关《Excel-VBA-处理图形图表大全剖析.pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VBA 图表剖析一、图表各元素在VBA 中的表达方式1、图表区VBA 名称:ChartArea 2、绘图区VBA 名称:PlotArea 调整绘图区的大小以及在图表中的位置,指定绘图区的Top、Left、Height和 Width属性。3、数据系列VBA 名称:Series 指定给定系列语法:ChatObject.SeriesCollection(Index),其中Index是数字范围,从 1 开始,最大值是图表中系列的数量或系列名称的数量。4、图表轴VBA 名称:Axis 指定给定轴的简单语法:ChatObject.Axes(Type),其中 Type 指定轴的Excel VBA常量。辅助轴
2、语法:ChatObject.Axes(Type,AxisGroup)。5、网格线VBA 名称:HasMajorGridlines和 HasMinorGridlines 根据需要可以选择显示或者不显示主要网格线或次要网格线。若显示网格线,可以设置线条的图案(颜色、线宽、线条样式等等)。6、数据标签VBA 名称:DataLabels和 DataLabel(1)图表中所有系列的所有点显示特定类型的数据标签或不显示数据标签:ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone(2)特定系列显示数值(Y)作为数据标签:With ActiveChar
3、t.SeriesCollection(“Xdata”).HasDataLabels=True .ApplyDataLabels Type:=xlDataLabelsShowValue End With(3)特定的点在它的数据标签中显示文字With ActiveChart.SeriesCollection(“Xdata”).Points(1).HasDataLabels=True .DataLabel.Text=”MyLabel”End With(4)将公式放置在某个系列上的某特定点的数据标签中(在公式中需使用RC 样式)With ActiveChart.SeriesCollection(“Xd
4、ata”).point(1).HasDataLabels=True .DataLabel.Text=”Sheet1.R1C1”End With 7、图表标题、图例和数据表VBA 名称:ChartTitle、HasLegend和 HasDataTable 可以用 VBA 指定图表标题和图例的位置、文字和文字格式。8、趋势线和误差线VBA 名称:Trendlines和 ErrorBar 二、图表类型Excel 标准图表类型图表类型描述Excel VBA常量柱形图簇状柱形图3D 簇状柱形图堆积柱形图3D 堆积柱形图百分比堆积柱形图3D 百分比堆积柱形图3D 柱形图xlColumnClustered
5、xl3DColumnClustered xlColumnStacked xl3DColumnStacked xlColumnStacked100 xl3DColumnStacked100 xl3DColumn 条形图簇状条形图3D 簇状条形图堆积条形图3D 堆积条形图百分比堆积条形图3D 百分比堆积条形图xlBarClustered xl3DBarClustered xlBarStacked xl3DBarStacked xlBarStacked100 xl3DBarStacked100 折线图折线图数据点折线图堆积折线图堆积数据点折线图百分比堆积折线图百分比堆积数据点折线图3D 折线图xlL
6、ine xlLineMarkers xlLineStacked xlLineMarkersStacked xlLineStacked100 xlLineMarkersstacked100 xl3DLine 饼图饼图分离型饼图3D 饼图分离型 3D 饼图复合饼图复合条饼图xlPie xlPieExploded xl3DPie xl3DPieExploded xlPieOfPie xlBarOfPie XY(散点)图散点图平滑线散点图无数据点平滑线散点图折线散点图无数据点折线散点图xlXYScatter xlXYScatterSmooth xlXYScatterSmoothNoMarkers xl
7、XYScatterLines xlXYScatterLinesNoMarkers 气泡图气泡图xlBubble 3D 气泡图xlBubble3DEffect 面积图面积图3D 面积图堆积面积图3D 堆积面积图百分比堆积面积图3D 百分比堆积面积图xlArea xl3DArea xlAreaStacked xl3DAreaStacked xlAreaStacked100 xl3DAreaStacked100 圆环图圆环图分离型圆环图xlDoughnut xlDoughnutExploded 雷达图雷达图数据点雷达图填充雷达图xlRadar xlRadarMarkers xlRadarFilled
8、 曲面图3D 曲面图曲面图(俯视)3D 曲面图(框架图)曲面图(俯视框架图)xlSurface xlSurfaceTopView xlSurfaceWireframe xlSurfaceWireframeTopView 股价图盘高-盘低-收盘图成交量-盘高-盘低-收盘图开盘-盘高-盘低-收盘图成交量-开盘-盘高-盘低-收盘图xlStockHLC xlStockVHLC xlStockOHLC xlStockVOHLC 圆柱图柱形圆柱图条形圆柱图堆积柱形圆柱图堆积条形圆柱图百分比堆积柱形圆柱图百分比堆积条形圆柱图3D 柱形圆柱图xlCylinderColClustered xlCylinderB
9、arColClustered xlCylinderColStacked xlCylinderBarStacked xlCylinderColStacked100 xlCylinderBarStacked100 xlCylinderCol 圆锥图柱形圆锥图条形圆锥图堆积柱形圆锥图堆积条形圆锥图百分比堆积柱形圆锥图百分比堆积条形圆锥图3D 柱形圆锥图xlConeColClustered xlConeBarClustered xlConeColStacked xlConeBarStacked xlConeColStacked100 xlConeBarStacked100 xlConeCol 棱锥图柱
10、形棱锥图条形棱锥图堆积柱形棱锥图堆积条形棱锥图百分比堆积柱形棱锥图百分比堆积条形棱锥图3D 柱形棱锥图xlPyramidColClustered xlPyramidBarClustered xlPyramidColStacked xlPyramidBarStacked xlPyramidColStacked100 xlPyramidBarStacked100 xlPyramidCol vba图表常用命令ActiveSheet.UsedRange.Rows.Count 获取工作表的行数(注:考虑向前兼容性)Cells.Item(5,C)引单元格C5 Cells.Item(5,3)引单元格C5 A
11、pplication.WorksheetFunction.IsNumber(A1)使用工作表函数检查A1 单元格中的数据是否为数字Range(A:A).Find(Application.WorksheetFunction.Max(Range(A:A).Activate 激活单元格区域A 列中最大值的单元格Cells(8,8).FormulaArray=SUM(R2C-1:R-1C-1*R2C:R-1C)在单元格中输入数组公式。注意必须使用R1C1 样式的表达式ActiveSheet.ChartObjects.Count 获取当前工作表中图表的个数ActiveSheet.ChartObjects
12、(Chart1).Select 选中当前工作表中图表Chart1 ActiveSheet.ChartObjects(Chart1).Activate 选中当前图表区域ActiveChart.ChartArea.Select 选中当前图表区域WorkSheets(Sheet1).ChartObjects(Chart2).Chart.ChartArea.Interior.ColorIndex=2 更改工作表中图表的图表区的背景颜色Sheets(Chart2).ChartArea.Interior.ColorIndex=2 更改图表工作表中图表区的颜色Charts.Add 添加新的图表工作表Acti
13、veChart.SetSourceData Source:=Sheets(Sheet1).Range(A1:D5),PlotBy:=xlColumns 指定图表数据源并按列排列ActiveChart.Location Where:=xlLocationAsNewSheet 新图表作为新图表工作表ActiveChart.PlotArea.Interior.ColorIndex=xlNone 将绘图区颜色变为白色WorkSheets(Sheet1).ChartObjects(1).Chart.Export FileName:=C:MyChart.gif,FilterName:=GIF 将图表1 导
14、出到C 盘上并命名为MyChart.gif ActiveSheet.ChartObjects.Delete 删除工作表上所有的ChartObject 对象ActiveWorkbook.Charts.Delete 删除当前工作簿中所有的图表工作表Excel 中的 VBA常量和编码值所代表的标准图表类型图表类型描述Excel VBA 常量编码值(注:下面按此顺序排列)柱形图簇状柱形图 xlColumnClustered 51 3D 簇状柱形图xl3DColumnClustered54 堆积柱形图 xlColumnStacked 52 3D 堆积柱形图xl3DColumnStacked 55 百分比
15、堆积柱形图 xlColumnStacked10053 3D 百分比堆积柱形图 xl3DColumnStacked100 56 3D 柱形图 xl3DColumn-4100 条形图 簇状条形图xlBarClustered 57 3D 簇状条形图 xl3DBarClustered 60 堆积条形图xlBarStacked58 3D 堆积条形图 xl3DBarStacked 61 百分比堆积条形图 xlBarStacked100 59 3D 百分比堆积条形图 xl3DBarStacked100 62 折线图折线图 xlLine 4 数据点折线图 xlLineMarkers 65 堆积折线图 xlLi
16、neStacked 63 堆积数据点折线图 xlLineMarkersStacked 66 百分比堆积折线图 xlLineStacked100 64 百分比堆积数据点折线图 xlLineMarkersstacked100 67 3D 折线图 xl3DLine-4101 饼图饼图 xlPie5 分离型饼图 xlPieExploded69 3D 饼图 xl3DPie-4102 分离型 3D饼图 xl3DPieExploded 70 复合饼图 xlPieOfPie 68 复合条饼图 xlBarOfPie 71 XY(散点)图散点图 xlXYScatter-4169 平滑线散点图 xlXYScatte
17、rSmooth 72 无数据点平滑线散点图 xlXYScatterSmoothNoMarkers 73 折线散点图 xlXYScatterLines 74 无数据点折线散点图 xlXYScatterLinesNoMarkers 75 气泡图 气泡图 xlBubble 15 3D 气泡图 xlBubble3DEffect 87 面积图 面积图 xlArea 1 3D 面积图 xl3DArea-4098 堆积面积图 xlAreaStacked 76 3D 堆积面积图xl3DAreaStacked 78 百分比堆积面积图xlAreaStacked100 77 3D 百分比堆积面积图 xl3DArea
18、Stacked100 79 圆环图 圆环图xlDoughnut-4120 分离型圆环图xlDoughnutExploded 80 雷达图 雷达图 xlRadar-4151 数据点雷达图 xlRadarMarkers 81 填充雷达图 xlRadarFilled 82 曲面图3D曲面图 xlSurface 83 曲面图(俯视)xlSurfaceTopView 85 3D 曲面图(框架图)xlSurfaceWireframe 84 曲面图(俯视框架图)xlSurfaceWireframeTopView 86 股价图 盘高-盘低-收盘图 xlStockHLC 88 成交量-盘高-盘低-收盘图 xlS
19、tockVHLC 90 开盘-盘高-盘低-收盘图 xlStockOHLC 89 成交量-开盘-盘高-盘低-收盘图 xlStockVOHLC 91 圆柱图柱形圆柱图 xlCylinderColClustered 92 条形圆柱图 xlCylinderBarClustered 95 堆积柱形圆柱图 xlCylinderColStacked 93 堆积条形圆柱图 xlCylinderBarStacked 96 百分比堆积柱形圆柱图 xlCylinderColStacked100 94 百分比堆积条形圆柱图 xlCylinderBarStacked100 97 3D 柱形圆柱图 xlCylinderC
20、ol 98 圆锥图柱形圆锥图 xlConeColClustered 99 条形圆锥图 xlConeBarClustered 102 堆积柱形圆锥图 xlConeColStacked 100 堆积条形圆锥图 xlConeBarStacked 103 百分比堆积柱形圆锥图 xlConeColStacked100 101 百分比堆积条形圆锥图 xlConeBarStacked100 104 3D 柱形圆锥图 xlConeCol 105 棱锥图 柱形棱锥图 xlPyramidColClustered 106 条形棱锥图 xlPyramidBarClustered 109 堆积柱形棱锥图xlPyrami
21、dColStacked 107 堆积条形棱锥图xlPyramidBarStacked 110 百分比堆积柱形棱锥图 xlPyramidColStacked100 108 百分比堆积条形棱锥图 xlPyramidBarStacked100 111 3D 柱形棱锥图 xlPyramidCol 112 利用以上参数,可用VBA写出批量产生Excel 图表的程序。代码如下:Private Sub cmdCompareSales_Click()Dim iRows,iChartType,iChartTypeRows As Integer Dim iTemp As Integer Dim sChartTit
22、le,sCategoryTitle,sValueTitle As String Dim sChartName As String Dim lArrayChartType(73)As Long,sArrayChartConst(73)As String,sArrayChartExplain(73)As String For iTemp=0 To 72 lArrayChartType(iTemp)=Sheets(Sheet2).Cells(iTemp+1,1).Value sArrayChartConst(iTemp)=Sheets(Sheet2).Cells(iTemp+1,3).Value s
23、ArrayChartExplain(iTemp)=Sheets(Sheet2).Cells(iTemp+1,2).Value Next iTemp Sheets(Sheet1).Activate sChartTitle=销售量比较图 sCategoryTitle=Category标题 sValueTitle=Value标题 iRows=Sheets(sheet1).UsedRange.Rows.Count On Error Resume Next Sheets(sheet1).ChartObjects.Delete For iChartType=0 To 72 Step 1 Charts.Ad
24、d ActiveChart.ChartType=lArrayChartType(iChartType)ActiveChart.SetSourceData Source:=Sheets(Sheet1).Range(A2:M&CStr(iRows),PlotBy:=xlRows ActiveChart.Location where:=xlLocationAutomatic,Name:=Sheet1 With ActiveChart.HasTitle=True.ChartTitle.Characters.Text=sChartTitle&sArrayChartConst(iChartType)&sA
25、rrayChartExplain(iChartType).ChartTitle.Characters.Text=sChartTitle&xl3DArea.Axes(xlCategory,xlPrimary).HasTitle=False .Axes(xlCategory,xlPrimary).AxisTitle.Text=sCategoryTitle.Axes(xlValue,xlPrimary).HasTitle=False .Axes(xlValue,xlPrimary).AxisTitle.Text=sValueTitle End With sChartName=Mid(ActiveCh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Excel VBA 处理 图形 图表 大全 剖析
限制150内