2013-07-16 5 views
0

Я борюсь за последние пару часов с ошибкой. Я хочу сделать код, который имеет один и тот же диапазон для каждого листа. Когда я добавляю коллекцию серии, она терпит неудачу. Я изменил код из записанного макроса, который отлично работает. Это код в вопросе:VBA Excel Chart SeriesCollection

Sub plot() 

Dim wb As Excel.Workbook 
Set wb = ThisWorkbook 
Dim ws As Worksheet 
Dim name As String 
Dim plot As Excel.Shape 

For Each ws In wb.Worksheets 
name = ws.name 
Set plot = ws.Shapes.AddChart 
plot.Chart.ChartType = xlXYScatterLines'until here it works perfectly 
plot.Chart.SeriesCollection(1).name = "=""something"""' on this line I get the error 
Next 

End Sub 

И ошибка:

Run - время ошибка «1004»:
приложения или объекта, определенные ошибки

И помощь говорит это ошибка от excel, а не VBA, поэтому он не заботится ... :) Любая помощь будет очень признательна. Приветствия!

+0

Там нет серии назвать, если нет данных в диаграмма. –

ответ

2

Я думаю, что нужно добавить

plot.Chart.SetSourceData Range("A1", "D4") 

чуть ниже линии, которая прекрасно работает, так что вы в конечном итоге с этим

Sub plot() 

Dim wb As Excel.Workbook 
Set wb = ThisWorkbook 
Dim ws As Worksheet 
Dim name As String 
Dim plot As Excel.Shape 

For Each ws In wb.Worksheets 
name = ws.name 
Set plot = ws.Shapes.AddChart 
plot.Chart.ChartType = xlXYScatterLines 'until here it works perfectly 
plot.Chart.SetSourceData Range("A1", "D4") 
plot.Chart.SeriesCollection(1).name = "=""something""" ' on this line I get the error 
Next 

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