РЕДАКТИРОВАТЬ: я считаю, что мое сообщение об ошибке «Максимальное количество рядов данных на диаграмме 255» было связано с выбором диапазона, который я имел до вызова метода AddChart2.Я до сих пор не знаю, почему ранее было сказано, что у моей диаграммы нет заголовка, хотя я объявил .HasTitle как истинное.Считайте, что этот вопрос решен на данный момент, хотя я все еще хотел бы знать, почему он не работал ранее.
Также в используемой мной подпрограмме предсуществующие объекты диаграммы удаляются до того, как они попадут в этот код, поэтому с индексом ChartObjects (1) проблем нет.
Успех приведенного ниже кода полностью определяет, включать ли я функцию MsgBox.Кроме того, кажется, что это работает, только когда я передаю этот конкретный аргумент в MsgBox (ввод «MsgBox 1» не работает, даже если на странице есть один объект ChartObject).Кто-нибудь знает, почему это так?
ActiveSheet.Shapes.AddChart2(227, xlLine).Select
ActiveChart.SetSourceData Source:=Range("$M2:$M" & CStr(Cells(Rows.Count, 13).End(xlUp).Row))
'MsgBox ActiveSheet.ChartObjects.Count
With Sheets("blah").ChartObjects(1).Chart
.HasTitle = True
End With
MsgBox Sheets("blah").ChartObjects(1).Chart.HasTitle ' (always returns True)
Sheets("blah").ChartObjects(1).Chart.ChartTitle.Text = "bleh"
Когда код работает, я получаю диаграмму с заголовком, как задумано.Когда это не работает, я получаю сообщение об ошибке, что у диаграммы нет заголовка.