If xlsSheet.ChartObjects.ChartType = xlColumnClustered Then lbl.Caption = "成功!"我用这句来看chart图表的类型 为什么不行?“对象不支持该属性或方法”那怎样能实现我目标?

解决方案 »

  1.   

    我是想通过这样来判断excel工作表里的统计图表是否符合要求,对大家来说不难,但我暂时没思路啊
      

  2.   

    ChartObjects应该是一个集合吧,换成ChartObjects(1)之类语句试一下,我没有测试过...
      

  3.   

    好象是这出现问题.ChartType = xlColumnClustered Then 。为什么不能用chart 要用chartobjects
      

  4.   

    你可以录制一个宏,修改Chart的ChartType,然后编辑这个宏的代码,就可以看到Excel是如何引用这个Chart的了,再把它自己生成的代码复制过来修改一下。
      

  5.   

    我是这样做的,但在VB里我却不知要怎么搞了。宏是这样的:
    Sub 宏2()
    '
    ' 宏2 Macro
    ' duck 记录的宏 2004-1-29
    ''
        Range("A1:C12").Select
        Charts.Add
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Sheets("Sheet2").Range("A1:C12"), PlotBy _
            :=xlColumns
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2"
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "分数"
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
        End With
        ActiveWindow.Visible = False
        Windows("Book1.xls").Activate
        Range("A1:C12").Select
        Charts.Add
        ActiveChart.ChartType = xlPie
        ActiveChart.SetSourceData Source:=Sheets("Sheet2").Range("A1:C12"), PlotBy _
            :=xlColumns
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet2"
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "分数"
        End With
        ActiveSheet.Shapes("图表 2").IncrementLeft 8.25
        ActiveSheet.Shapes("图表 2").IncrementTop 117.75
    End Sub
    我觉得这样也不能明白要怎样来判断
    “对象不支持该属性或方法”ChartType 好象不是ChartObjects的成员。能否再帮忙看看?
      

  6.   

    EXCEL里我用宏录制的到的图形类型参数是xlColumnClustered这些东东
    但我在VB里用xlsSheet.ChartObjects(2).Chart.Type的读出的是一个数值
    那到底我把两者联系起来
    也就是说怎样用简洁一个方法顺
    利地读
    出CHART的TYPE并
    让他跟我我所想要比较的TY
    PE比较