图表不是从vba代码生成的,除非已存在另一个图表

时间:2016-05-16 01:53:55

标签: excel vba excel-vba charts

我在excel中有一个包含多个列和行的表。我写了这个简单的代码来从我的表中生成折线图:

Sub DrawLine()
   Dim cht As ChartObject
   For Each cht In Worksheets(Sheets.Count).ChartObjects
     cht.Chart.Type = xlLine
   Next cht
End Sub

但是,当我执行此代码时,我无法看到我的图表,除非我手动生成的工作表上有另一个图表。在这种情况下,当我执行代码时,图表会更改以显示我的子程序正在执行的操作。

有谁知道可能是什么问题?

2 个答案:

答案 0 :(得分:0)

您没有使用代码创建任何图表。你正在做的是改变当前的任何图表,成为折线图。

答案 1 :(得分:0)

您的代码中缺少许多内容。 Pl见下面的例子。

  Sub Test()
    Dim LastRow As Long
    Dim Rng1 As Range
    Dim ShName As String
    With ActiveSheet
        LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
        Set Rng1 = .Range("A2:A" & LastRow & ", B2:B" & LastRow)
        ShName = .Name

    End With
    Charts.Add
    With ActiveChart
        .ChartType = xlLine
        .SetSourceData Source:=Rng1
        .Location Where:=xlLocationAsObject, Name:=ShName
    End With
End Sub

enter image description here