jkluio668
2/2/2018 - 5:20 AM

form_pin

图

    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   	数据系列在列中。