VBA错误地输入范围作为系列名称

时间:2016-03-29 14:35:15

标签: excel vba graph

我正在尝试在Excel中的VBA中创建动态图表。不幸的是,当我生成图形时,y轴的值最终将作为系列名称。 Here's the graph。我是一个非常新的VBA用户,所以我确定我只是忽略了一个非常基本的错误。这是我的代码。

Sheets("Sheet1").Activate

Dim lRow As Long
Dim lCol As Long

'Find the last non-blank cell in column G and H
Range("G3:H500").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
lastrow = ActiveCell.Row - 1

'Find the last non-blank cell in row 1
lCol = Cells(1, Columns.Count).End(xlToLeft).Column

MsgBox "Last Row: " & lastrow & vbNewLine & _
        "" & Columns(lCol).Address(False, False)

Set rng = Range("G3:H300" & lastrow)
Set xrang = Range("F3:F300" & lastrow)

rng.Select

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ApplyChartTemplate ( _
    "c:\users\name\appdata\Roaming\Microsoft\Templates\Charts\brand_line_chart.crtx" _
    )
ActiveChart.SetSourceData Source:=Range("G3:H300" & lastrow)
ActiveChart.Axes(xlCategory).Select
ActiveChart.SeriesCollection(1).XValues = Range("F3:F300" & lastrow)

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

删除此行ActiveChart.SeriesCollection(1).XValues = Range(“F3:F300”& lastrow)。此外,由于您获得了lastrow数据,请将(“G3:H300”和“lastrow”)更改为(“G3:H”和“lastrow”)。在你设定范围的任何地方都这样做