2013-11-10 2 views
0

Я пытаюсь добавить диаграмму рассеяния на листе, когда я делаю вручную, это работает отлично, но когда я пытаюсь использовать записанный макрос, он дает мне ошибку 1004 наДобавить диаграмму на excel с vba

«Sheets (» Карта Riesgos «). Shapes.AddChart.Select»

вот код

Sheets("Mapa Riesgos").Shapes.AddChart.Select 
ActiveChart.ChartType = xlXYScatter 
ActiveChart.SetSourceData Source:=Range("A11:B35") 
With ActiveChart 
    .Parent.name = "Riesgo Inherente" 
    .Legend.Delete 
    .Axes(xlValue).MinimumScale = 0.5 
    .Axes(xlValue).MaximumScale = 5.5 
    .Axes(xlCategory).MinimumScale = 0.5 
    .Axes(xlCategory).MaximumScale = 5.5 
    .Axes(xlValue).MajorGridlines.Delete 
    .Axes(xlValue).Delete 
    .Axes(xlCategory).Delete 
    .SeriesCollection(1).MarkerStyle = -4142 

    'chart name 
    .HasTitle = True 
    .ChartTitle.Characters.Text = "Riesgo Inherente" 
    .ChartTitle.Font.Size = 20 
    'X axis name 
    .Axes(xlCategory, xlPrimary).HasTitle = True 
    .Axes(xlCategory, xlPrimary).AxisTitle.Font.Size = 13 
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Impacto" 
    'y-axis name 
    .Axes(xlValue, xlPrimary).HasTitle = True 
    .Axes(xlValue, xlPrimary).AxisTitle.Font.Size = 13 
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Probabilidad" 

    .Parent.Width = 400 
    .Parent.Height = 400 
    .Parent.Left = 60 
    .Parent.Top = 100 
End With 

Я использовал этот код раньше, но по какой-то причине, когда я здесь работать только первый запуск, а затем сообщение об ошибке

+0

Одним из примеров со ссылкой на только что добавленной диаграмме: http://stackoverflow.com/questions/19869610/selecting-the-first-to-last-colu –

ответ

0

Если ваш запуск из другого листа вам необходимо обновить строку источника данных, чтобы включать имя листа, как это:

ActiveChart.SetSourceData Source:=Range("'Mapa Riesgos'!A11:B35") 

Кроме того, если вы приехали из другого листа вы должны установить ваш лист диаграммы активен, чтобы использовать ActiveChart. Сделайте это, прежде чем создавать диаграмму.

Sheets("Mapa Riesgos").Select 
Смежные вопросы