Excel-VBA-处理图形图表大全剖析.pdf
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常量。辅助轴语法:ChatObject.Axes(Type,AxisGroup)。5、网格线VBA 名称:HasMajorGridlines和 HasMinorGridlines 根据需要可以选择显示或者不显示主要网格线或次要网格线。若显示网格线,可以设置线条的图案(颜色、线宽、线条样式等等)。6、数据标签VBA 名称:DataLabels和 DataLabel(1)图表中所有系列的所有点显示特定类型的数据标签或不显示数据标签:ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone(2)特定系列显示数值(Y)作为数据标签:With ActiveChart.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(“Xdata”).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 xl3DColumnClustered xlColumnStacked xl3DColumnStacked xlColumnStacked100 xl3DColumnStacked100 xl3DColumn 条形图簇状条形图3D 簇状条形图堆积条形图3D 堆积条形图百分比堆积条形图3D 百分比堆积条形图xlBarClustered xl3DBarClustered xlBarStacked xl3DBarStacked xlBarStacked100 xl3DBarStacked100 折线图折线图数据点折线图堆积折线图堆积数据点折线图百分比堆积折线图百分比堆积数据点折线图3D 折线图xlLine xlLineMarkers xlLineStacked xlLineMarkersStacked xlLineStacked100 xlLineMarkersstacked100 xl3DLine 饼图饼图分离型饼图3D 饼图分离型 3D 饼图复合饼图复合条饼图xlPie xlPieExploded xl3DPie xl3DPieExploded xlPieOfPie xlBarOfPie XY(散点)图散点图平滑线散点图无数据点平滑线散点图折线散点图无数据点折线散点图xlXYScatter xlXYScatterSmooth xlXYScatterSmoothNoMarkers xlXYScatterLines xlXYScatterLinesNoMarkers 气泡图气泡图xlBubble 3D 气泡图xlBubble3DEffect 面积图面积图3D 面积图堆积面积图3D 堆积面积图百分比堆积面积图3D 百分比堆积面积图xlArea xl3DArea xlAreaStacked xl3DAreaStacked xlAreaStacked100 xl3DAreaStacked100 圆环图圆环图分离型圆环图xlDoughnut xlDoughnutExploded 雷达图雷达图数据点雷达图填充雷达图xlRadar xlRadarMarkers xlRadarFilled 曲面图3D 曲面图曲面图(俯视)3D 曲面图(框架图)曲面图(俯视框架图)xlSurface xlSurfaceTopView xlSurfaceWireframe xlSurfaceWireframeTopView 股价图盘高-盘低-收盘图成交量-盘高-盘低-收盘图开盘-盘高-盘低-收盘图成交量-开盘-盘高-盘低-收盘图xlStockHLC xlStockVHLC xlStockOHLC xlStockVOHLC 圆柱图柱形圆柱图条形圆柱图堆积柱形圆柱图堆积条形圆柱图百分比堆积柱形圆柱图百分比堆积条形圆柱图3D 柱形圆柱图xlCylinderColClustered xlCylinderBarColClustered xlCylinderColStacked xlCylinderBarStacked xlCylinderColStacked100 xlCylinderBarStacked100 xlCylinderCol 圆锥图柱形圆锥图条形圆锥图堆积柱形圆锥图堆积条形圆锥图百分比堆积柱形圆锥图百分比堆积条形圆锥图3D 柱形圆锥图xlConeColClustered xlConeBarClustered xlConeColStacked xlConeBarStacked xlConeColStacked100 xlConeBarStacked100 xlConeCol 棱锥图柱形棱锥图条形棱锥图堆积柱形棱锥图堆积条形棱锥图百分比堆积柱形棱锥图百分比堆积条形棱锥图3D 柱形棱锥图xlPyramidColClustered xlPyramidBarClustered xlPyramidColStacked xlPyramidBarStacked xlPyramidColStacked100 xlPyramidBarStacked100 xlPyramidCol vba图表常用命令ActiveSheet.UsedRange.Rows.Count 获取工作表的行数(注:考虑向前兼容性)Cells.Item(5,C)引单元格C5 Cells.Item(5,3)引单元格C5 Application.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(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 添加新的图表工作表ActiveChart.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 导出到C 盘上并命名为MyChart.gif ActiveSheet.ChartObjects.Delete 删除工作表上所有的ChartObject 对象ActiveWorkbook.Charts.Delete 删除当前工作簿中所有的图表工作表Excel 中的 VBA常量和编码值所代表的标准图表类型图表类型描述Excel VBA 常量编码值(注:下面按此顺序排列)柱形图簇状柱形图 xlColumnClustered 51 3D 簇状柱形图xl3DColumnClustered54 堆积柱形图 xlColumnStacked 52 3D 堆积柱形图xl3DColumnStacked 55 百分比堆积柱形图 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 堆积折线图 xlLineStacked 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 平滑线散点图 xlXYScatterSmooth 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 百分比堆积面积图 xl3DAreaStacked100 79 圆环图 圆环图xlDoughnut-4120 分离型圆环图xlDoughnutExploded 80 雷达图 雷达图 xlRadar-4151 数据点雷达图 xlRadarMarkers 81 填充雷达图 xlRadarFilled 82 曲面图3D曲面图 xlSurface 83 曲面图(俯视)xlSurfaceTopView 85 3D 曲面图(框架图)xlSurfaceWireframe 84 曲面图(俯视框架图)xlSurfaceWireframeTopView 86 股价图 盘高-盘低-收盘图 xlStockHLC 88 成交量-盘高-盘低-收盘图 xlStockVHLC 90 开盘-盘高-盘低-收盘图 xlStockOHLC 89 成交量-开盘-盘高-盘低-收盘图 xlStockVOHLC 91 圆柱图柱形圆柱图 xlCylinderColClustered 92 条形圆柱图 xlCylinderBarClustered 95 堆积柱形圆柱图 xlCylinderColStacked 93 堆积条形圆柱图 xlCylinderBarStacked 96 百分比堆积柱形圆柱图 xlCylinderColStacked100 94 百分比堆积条形圆柱图 xlCylinderBarStacked100 97 3D 柱形圆柱图 xlCylinderCol 98 圆锥图柱形圆锥图 xlConeColClustered 99 条形圆锥图 xlConeBarClustered 102 堆积柱形圆锥图 xlConeColStacked 100 堆积条形圆锥图 xlConeBarStacked 103 百分比堆积柱形圆锥图 xlConeColStacked100 101 百分比堆积条形圆锥图 xlConeBarStacked100 104 3D 柱形圆锥图 xlConeCol 105 棱锥图 柱形棱锥图 xlPyramidColClustered 106 条形棱锥图 xlPyramidBarClustered 109 堆积柱形棱锥图xlPyramidColStacked 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 sChartTitle,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 sArrayChartExplain(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.Add 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)&sArrayChartExplain(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(ActiveChart.Name,8,6)ActiveSheet.Shapes(sChartName).Left=Range(B&Str(18*(iChartType+1).Left ActiveSheet.Shapes(sChartName).Top=Range(B&Str(18*(iChartType+1).Top ActiveChart.Export ThisWorkbook.Path&Format(Now(),yymmddhhmm)&sArrayChartConst(iChartType)&.gif,gif Sheets(sheet1).ChartObjects(sChartName).Delete Next iChartType End Sub 注意楼上的参数存于Sheet2 的 1 至 3 列中。VBA-批量调整excel 图表格式-线条粗细Excel 画图时默认的线条和标记比较大,写论文时使用起来经常要把线条和标记调小才好看。如果图表比较多,图里的系列也比较多的话,一条一条的设置起来会很麻烦,这里给出了一个宏,使用方法是选中图表后运行宏即可。Sub zoom()zoom 宏 ActiveSheet.ChartObjects(图表1).Activate 1 可以改为循环整数Dim i As Integer For i=1 To ActiveChart.SeriesCollection.Count ActiveChart.SeriesCollection(i).Select Selection.MarkerSize=3 设置标记大小为3 With Selection.Format.Line.Visible=msoTrue.Weight=1.25 设置线条粗细为1.25 End With Next End Sub 可以根据自己的需求更改标记的大小和线条的粗细。当然如果需要对所有图表做这种更改,可以找出图表个数,对ActiveSheet.ChartObjects(图表 i).Activate 进行外围循环即可。Shape(图形)、Chart(图表)对象在工作表中添加图形如果需要在工作表中添加图形对象,可以使用AddShape方法,如下面的代码所示。#001 Sub AddShape()#002 Dim myShape As Shape#003 On Error Resume Next#004 Sheet1.Shapes(myShape).Delete#005 Set myShape=Sheet1.Shapes.AddShape(msoShapeRectangle,40,120,280,30)#006 With myShape#007 .Name=myShape#008 With.TextFrame.Characters#009 .Text=单击将选择Sheet2!#010 With.Font#011 .Name=华文行楷#012 .FontStyle=常规#013 .Size=22#014 .ColorIndex=7#015 End With#016 End With#017 With.TextFrame#018 .HorizontalAlignment=-4108#019 .VerticalAlignment=-4108#020 End With#021 .Placement=3#022 End With#023 myShape.Select#024 With Selection.ShapeRange#025 With.Line#026 .Weight=1#027 .DashStyle=msoLineSolid#028 .Style=msoLineSingle#029 .Transparency=0#030 .Visible=msoTrue#031 .ForeColor.SchemeColor=40#032 .BackColor.RGB=RGB(255,255,255)#033 End With#034 With.Fill#035 .Transparency=0#036 .Visible=msoTrue#037 .ForeColor.SchemeColor=41#038 .OneColorGradient 1,4,0.23#039 End With#040 End With#041 Sheet1.Range(A1).Select#042 Sheet1.Hyperlinks.Add Anchor:=myShape,Address:=,_#043 SubAddress:=Sheet2!A1,ScreenTip:=选择 Sheet2!#044 Set myShape=Nothing#045 End Sub 代码解析:AddShape过程在工作表中添加一个矩形并设置其外观等属性。第 2 行代码声明变量myShape 的对象类型。第 3、4 行代码删除可能存在的名称为“myShape”的图形对象。第 5 行代码使用AddShape方法在工作表中添加一个矩形。当该方法应用于Shapes对象时,返回一个Shape 对象,该对象代表工作表中的新自选图形,语法如下:expression.AddShape(Type,Left,Top,Width,Height)参数 expression是必需的,返回一个Shapes 对象。参数 Type 是必需的,指定要创建的自选图形的类型。参数 Left 和 Top 是必需的,以磅为单位给出自选图形边框左上角的位置。参数 Width 和 Height 是必需的,以磅为单位给出自选图形边框的宽度和高度。第 7 行代码将新建图形命名为“myShape”,向Shapes集合添加新的图形时,将对新添加的图形赋以默认的名称,若要为图形指定更有意义的名称,可指定其Name 属性。第 8 行到第 16 行代码为矩形添加文字,并设定其格式。其中第 8 行代码使用TextFrame 属性和 Characters 方法返回该矩形的字符区域。应用于 Shape 对象的 TextFrame 属性返回一个TextFrame 对象,该对象包含指定图形对象的对齐和定位属性;Characters方法返回一个Characters对象,该对象代表某个图形的文本框中的字符区域,语法如下:expression.Characters(Start,Length)参数 expression是必需的,返回一个指定文本框内Characters对象的表达式。参数 Start 是可选的,表示将要返回的第一个字符,如果此参数设置为1 或被忽略,则 Characters方法会返回以第一个字符为起始字符的字符区域。参数Length是可选的,表示要返回的字符个数。如果此参数被忽略,则Characters方法会返回该字符串的剩余部分(由Start 参数指定的字符以后的所有字符)。第 9 行代码为矩形添加文字,应用于Characters对象的 Text 属性返回或设置对象的文本,为可读写的String 类型。第 10 行到第 15 行代码设置矩形中文字的属性,应用于Characters对象 Font 属性返回一个 Font 对象,该对象代表指定对象的字体属性(字体名称、字体大小、字体颜色等),第 11 行代码设置字体名称,第12 行代码设置字体样式,第13 行代码设置字体大小,第14 行代码颜色。第 17 行到第20 行代码设定矩形中文字的对齐方式。应用于TextFrame对象的HorizontalAlignment属性返回或设置指定对象的水平对齐方式,可为表格1-1 所示的XlHAlign 常量之一。常量值描述xlHAlignCenter-4108 居中xlHAlignCenterAcrossSelection 7 靠左xlHAlignDistributed-4117 分散对齐xlHAlignFill 5 分散对齐xlHAlignGeneral 1 靠左xlHAlignJustify-4130 两端对齐xlHAlignLeft-4131 靠左xlHAlignRight-4152 靠右表格1-1 HorizontalAlignment属性的 XlHAlign常量应用于TextFrame对象的VerticalAlignment属性返回或设置指定对象的垂直对齐方式,可为表格1-2 所示的 XlHAlign 常量之一。常量值描述xlVAlignCenter-4108 居中xlVAlignJustify-4130 两端对齐xlVAlignBottom-4107 靠下xlVAlignDistributed-4117 分散对齐xlVAlignTop-4160 靠上表格1-2 VerticalAlignment属性的 XlHAlign常量第 21 行代码设置矩形大小和位置不随单元格而变,应用于Shape 对象的Placement属性返回或设置对象与所在的单元格之间的附属关系,可为表格1-3 所示的XlPlacement常量之一。常量值描述xlFreeFloating 3 大小、位置均固定xlMove 2 大小固定、位置随单元格而变xlMoveAndSize 1 大小、位置随单元格而变表格1-3 XlPlacement常量第 24 行到第 32 行代码设置矩形的边框线条格式,应用于ShapeRange集合的 Line 属性返回一个LineFormat 对象,该对象包含指定图形的线条格式属性。其中第 26 行代码设置矩形线条粗细,第27 行代码设置矩形线条的虚线样式,第28 行代码设置矩形填充的透明度,第29 行代码设置矩形为可见,第30 行代码设置矩形的前景色,第 31 行代码设置矩形填充背景的颜色。第 33 行到第 38 行代码设置矩形的内部填充格式,应用于ShapeRange集合的 Fill 属性返回 FillFormat对象,该对象包含指定的图表或图形的填充格式属性。其中第 35 行代码设置矩形内部的透明度,第36 行代码设置矩形内部为可见,第37 行代码设置矩形内部的前景色,第38 行代码将矩形内部指定填充设为单色渐变,应用于FillFormat对象的 OneColorGradient方法将指定填充设为单色渐变,语法如下:expression.OneColorGradient(Style,Variant,Degree)其中参数Style 是必需的,底纹样式,可为表格1-1 所示的 MsoGradientStyle常量之一。常量值描述msoGradientDiagonalDown 4 斜下msoGradientDiagonalUp 3 斜上msoGradientFromCenter 7 无msoGradientFromCorner 5 角部幅射msoGradientFromTitle 6 中心幅射msoGradientHorizontal 1 水平msoGradientMixed-2 无msoGradientVertical 2 垂直表格1-4 MsoGradientStyle常量参数 Variant 是必需的,渐变变量。取值范围为1 到 4 之间,分别与“填充效果”对话框 中“渐 变”选 项 卡 的 四 个 渐 变 变 量 相 对 应。如 果GradientStyle 设 为msoGradientFromCenter,则 Variant 参数只能设为1 或 2。参数 Degree 是必需的,灰度。取值范围为0.0(表示最深)到 1.0(表示最浅)之间。第 42、43 行代码为矩形对象添加超链接,应用于Hyperlinks对象的 Add 方法向指定的区域或图形添加超链接,语法如下:expression.Add(Anchor,Address,SubAddress,ScreenTip,TextToDisplay)参数 expression是必需的,返回一个Hyperlinks对象。参数 Anchor 是必需的,超链接的位置。可为Range 对象或 Shape 对象。参数 Address 是必需的,超链接的地址。参数 SubAddress是必需的,超链接的子地址。参数 ScreenTip是可选的,当鼠标指针停留在超链接上时所显示的屏幕提示。参数 TextToDisplay是可选的,要显示的超链接的文本。运行 AddShape过程结果如图1-1 所示。图 1-1 在工作表中添加图形技巧1 导出工作表中的图片有时需要将工作表中的图形对象保存为单独的图像文件,可以使用Export 方法将工作表中的图片以文件形式导出,如下面的代码所示。#001 Sub ExportShp()#002 Dim Shp As Shape#003 Dim FileName As String#004 For Each Shp In Sheet1.Shapes#005 If Shp.Type=msoPicture Then#006 FileName=ThisWorkbook.Path&Shp.Name&.gif#007 Shp.Copy#008 With Sheet1.ChartObjects.Add(0,0,Shp.Width+28,Shp.Height+30).Chart#009 .Paste#010 .Export FileName,gif#011 .Parent.Delete#012 End With#013 End If#014 Next#015 End Sub 代码解析:ExportShp过程将 Sheet1 工作表的所有图片以文件形式导出到同一目录中。第 4 行代码使用For Each.Next 语句遍历Sheet1 工作表中的所有图形。第 5 行代码判断图形的类型是否为图片,应用于Shape 对象的 Type 属性返回或设置图形类型,可以为表格1-1 所示的 MsoShapeType常量之一。常量值说明msoShapeTypeMixed-2 混合型图形msoAutoShape 1 自选图形msoCallout 2 没有边框线的标注msoChart 3 图表msoComment 4 批注msoFreeform 5 任意多边形msoGroup 6 图形组合msoFormControl 8 窗体控件msoLine 9 线条msoLinkedOLEObject 10 链接式或内嵌OLE 对象msoLinkedPicture 11 剪贴画或图片msoOLEControlObject 12 ActiveX 控件msoPicture 13 图片msoTextEffect 15 艺术字msoTextBox 17 文本框msoDiagram 21 组织结构图或其他图示表格1-1 MsoShapeType常量第 6 行代码使用字符串变量FileName 记录需导出图形的路径和名称。第 7 行代码复制图形,应用于Shape 对象的 Copy 方法将对象复制到剪贴板。第 8 行代码使用Add 方法在工作表中添加一个图表,应用于ChartObjects对象的 Add 方法创建新的嵌入图表,语法如下:expression.Add(Left,Top,Width,Height)参数 expression是必需的,返回一个ChartObjects对象。参数 Left、参数Top 是必需的,以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格A1 的左上角或图表的左上角的坐标。参数 Width、参数 Height 是必需的,以磅为单位给出新对象的初始大小。第 9 行代码使用Paste 方法将图形粘贴到新的嵌入图表中,应用于Chart 对象的 Paste方法将剪贴板中的图表数据粘贴到指定的图表中,语法如下:expression.Paste(Type)参数 expression是必需的,返回一个Chart 对象。参数 Type 是可选的的,如果剪贴板中有图表,本参数指定要粘贴的图表信息。可为以下 XlPasteType 常量之一:xlFormats、xlFormulas或 xlAll。默认值为 xlAll,如果剪贴板中是数据不是图表,则不能使用本参数。第 10 行代码使用Export 方法将图表导出到同一目录中,应用于Chart 对象的 Export方法以图形格式导出图表,语法如下:expression.Export(Filename,FilterName,Interactive)其中参数 Filename是必需的,被导出的文件的名称。第 10 行代码删除新建的图表。因为Chart 对象是不能使用Delete 方法直接删除的,应先使用 Parent 属性返回指定对象的父对象,然后使用Delete 方法删除。技巧2 在工作表中添加艺术字在工作表中插入艺术字,可以使用AddTextEffect方法,如下面的代码所示。#001 Sub TextEffect()#002 Dim myShape As Shape#003 On Error Resume Next#004 Sheet1.Shapes(myShape).Delete#005 Set myShape=Sheet1.Shapes.AddTextEffect _#006 (PresetTextEffect:=msoTextEffect15,_#007 Text:=我爱 Excel Home,FontName:=宋体,FontSize:=36,_#008 FontBold:=msoFalse,FontItalic:=msoFalse,_#009 Left:=100,Top:=100)#010 With myShape#011 .Name=myShape#012 With.Fill#013 .Solid#014 .ForeColor.SchemeColor=55#015 .Transparency=0#016 End With#017 With.Line#018 .Weight=1.5#019 .DashStyle=msoLineSolid#020 .Style=msoLineSingl