Msdn说得很详细呀;给你个例子吧:
Private Sub Pic(Name) '直线图
On Error GoTo Err:
Dim Conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim Rst1 As New ADODB.Recordset
Dim N As Long
Dim M As LongWith MSChart1
  .ColumnCount = 1  '纵向数据数
  .RowCount = 5      '横向数据数,四 种:年份
  .chartType = Name  '以上三条语句是建立四行两列Name类的图
  '可以做什么样子的图,可以参考Msdn:ChartType常数
  For N = 1 To 1
    For M = 1 To 5
      .Row = M             '设置活动列
      Select Case M
      Case 1
        .RowLabel = "0-59分"
      Case 2
        .RowLabel = "60-69分"
      Case 3
        .RowLabel = "70-79分"
      Case 4
        .RowLabel = "80-89分"
      Case 5
        .RowLabel = "90-100分"
      End Select
       .Data = ReturnValue(M - 1)
    Next M
  Next N
    .ShowLegend = True   '显示图例:
End With
Exit Sub
Err:
MsgBox "出现错误:" & Err.Description
End SubPrivate Sub Option2_Click(Index As Integer)
'其他面积图、散点图、阶梯图等等最好用在单独的数据分析中
'多数据对比不要用,如果单独分析资产,你可以自己试一试
'只要改变Pic(....)自定义函数中的内容就可以啦
Option1(0).Value = True
Option1_Click (0)
If CountState = True And Option1(0).Value = True Then '统计完毕了
  Select Case Index
  Case 0  '二维直线图
    Pic (VtChChartType2dBar)
  Case 1 '园饼图
    Pic (VtChChartType2dPie)
  Case 2 '折线图
    Pic (VtChChartType2dLine)
  End Select
End If
End Sub问题点数太少,呵呵!赔本大处理拉——这可是俺的标准源代码
要全部源程序的话,找俺吧;

解决方案 »

  1.   

    MSChart 控件
                以图形方式显示数据的图表。语法MSChart说明MSChart 控件支持以下特性: 真三维表示。
    支持所有主要的图表类型。
    数据网格成员支持随机数据,数据数组。 
    MSChart 控件与数据网格(DataGrid 对象)相关连。这种数据网格是存有已图表化数据的表。数据网格中也包括用于在图表中标识系列和分类的标签。图表应用程序的设计人员通过从表单或数组中插入或输入数据,来给数据网格填充信息。
    MSChart 控件示例
    下面的示例显示一个具有 8 行 8 列数据的三维图表,并设置了图例的参数。Private Sub Command1_Click()
       With MSChart1
          '显示一个具有 8 行 8 列数据的三维图表。
          .ChartType = VtChChartType3dBar
          .ColumnCount = 8
          .RowCount = 8
          For column = 1 To 8
             For row = 1 To 8
                .Column = column
                .Row = row
                .Data = row * 10
             Next row
          Next column
          '将图表作为图例的背景。
          .ShowLegend = True
          .SelectPart VtChPartTypePlot, index1, index2, _
          index3, index4
          .EditCopy
          .SelectPart VtChPartTypeLegend, index1, _
          index2, index3, index4
          .EditPaste
       End With
    End Sub
    使用 MSChart 控件
    使用 MSChart 控件可以按照一定的规范将数据以图表的形式绘制出来。可以通过在控件的属性页中设置数据来创建图表,或者也可以从其它数据源,如 Microsoft Excel 的电子数据表中检索出要绘制的数据。本主题中的信息主要讨论将 Excel 工作表作为数据源。可能的用途
    对动态数据绘制图表,例如选定商品的当前价格。
    对存储数据绘制图表,例如产品价格,以便利用图形分析趋势。 
    使用数组和 ChartData 属性绘制数据
    绘制图表最简单的方法就是创建数字型的数组,然后将 ChartData 属性设为该数组,如下例所示:' 这段代码可以粘贴到一个Form的 Load 
    ' 事件中,该Form包含名为“MSChart1”的 
    ' MSChart 控件。
    Dim arrPrices(1 to 10)
    Dim i As Integer
    For i = 1 to 10
       arrPrices(i)= i * 2
    Next i
    MSChart1.ChartData = arrPrices上面的代码将产生简单的单系列图表。图表中的一个“系列”就是一个相关的数据点集。例如,典型的系列可以是一年中商品的价格。下面的图表显示了一个单系列图表。要创建更复杂的多系列图表,必须创建多维数组,如下例所示:' 系列的数目是由第二个维数决定的。
    ' 在本例中,图表将有两个系列,
    ' 每个系列有五个数据点。
    Dim arrPriceQuantity(1 to 5, 1 to 2)
    Dim i as Integer
    For i = 1 to 5
       arrPriceQuantity(i, 1) = i ' Series 1
       arrPriceQuantity(i, 2) = 0 - i ' Series 2
    Next i
    MsChart1.ChartData = arrPriceQuantity这个例子产生的图表如下:向图表中添加标签
    创建多维数组时,可以将第一个系列赋值为字符串;当数组赋值给 ChartData 属性时,字符串将会成为行的标签。下面的代码显示了这个特点。Dim arrValues(1 to 5, 1 to 3)
    Dim i as Integer
    For i = 1 to 5
       arrValues(i, 1) = "Label " & i ' Labels
       arrValues(i, 2) = 0 + i ' Series 1 values.
       arrValues(i, 3) = 2 * i ' Series 2 values.
    Next i
    MsChart1.ChartData = arrValues上面的代码产生的图表如下:正如所看见的那样,使用 ChartData 属性创建图表的方法快捷而且简便。但是,使用数组的问题是要将数据取到数组中。这类数据的大多数用户可能更想使用某种电子表格程序,例如 Microsoft Excel,或某种数据库程序,如 Microsoft Access,来存贮和检索数据。设置或返回数据点
    一旦使用来自电子表格或其它数据源的数组创建了图表,可能也希望设置或返回某个指定数据点的值。要做到这一点,可以首先设置 Row 和(如果可以的话) Column 属性,然后设置或返回 Data 属性。例如,在简单的(单系列的)图表中,下面的代码将会改变第三个数据点。With MSChart1
       ' 将第三个数据点改为50。
       .Row = 3
       .Data = 50 
    End With如果图表有不止一个系列,那么可以使用 Column 属性来指定系列,然后再象上面那样设置 Row 和 Data 属性。With MSChart1
       ' 将第四个系列的第二
       ' 个数据点设为42。
       .Column = 4
       .Row = 2
       .Data = 42
    End With使用 PointActivated 事件修改数据点
    如果已经开始研究 MSChart 控件,那么就会发现它包含了大量的事件。利用这些事件可以对图表编程,使图表能够响应几乎所有的用户操作。作为这种可编程性的例子,下面的示例中将使用 PointActivated 事件来说明如何利用 Series 和 DataPoint 参数修改数据点。(PointActivated 事件在数据点被双击时发生。)Series 和 DataPoint 参数对应于 Column 和 Row 属性,因此可以用来设置 Data 属性:Private Sub MSChart1_PointActivated(Series As _
       Integer, DataPoint As Integer, MouseFlags As _
       Integer, Cancel As Integer)
       With MSChart1
          .Column = Series
          .Row = DataPoint
          .Data = InputBox _
          ("Change the data point:", , .Data)
       End With 
    End Sub
      

  2.   

    哈哈,可找到高人了。lovingkiss(你要答案我要分),我能问个问题吗?你上面的标准源程序对饼图并不好使吧?饼图应该设置纵向数据,不同于柱图,线图的横向数据。所以你上边那么直接选择图表类型,然后挂入数据是不行的。