2016-03-29 4 views
0

Я пытаюсь создать динамический граф в VBA в Excel. К сожалению, когда я генерирую график, значения, предназначенные для оси y, заканчиваются именем серии. Here's the graph. Я очень новый пользователь VBA, поэтому я уверен, что просто забываю о очень простой ошибке. Вот мой код.VBA неправильно ввод диапазон как серия name

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) 

Любая помощь будет принята с благодарностью, спасибо!

ответ

0

Удалить эту строку ActiveChart.SeriesCollection (1) .XValues ​​= Range ("F3: F300" & lastrow). Кроме того, поскольку вы получаете данные последнего, измените («G3: H300» & lastrow) на («G3: H» & lastrow). Сделайте это везде, где вы установили диапазон

+0

Спасибо !!! Это исправило проблему! – Ceterisbearibus

Смежные вопросы