Я пытаюсь написать код, который будет работать с именованными диапазонами, которые я уже установил в своей книге Excel. Каждый лист в рабочей тетради имеет свою разметку, что делает написание кода для имен львиной долей работы. Я уже сделал это и теперь хотел бы написать код, который будет циклически проходить по именам на каждом листе и составлять диаграммы с использованием именованных диапазонов, которые я уже установил. Я столкнулся с кучей ошибок в следующем коде и был бы признателен за помощь в их исправлении и повышении эффективности!
ChartName = ActiveSheet.Range(n).Offset(0, -6) & " " & ActiveSheet.Range(n).Offset(0, -5)
Я получаю сообщение об ошибке в приведенной выше строке из-за несоответствия типов, которое я просто не могу понять, как с этим бороться. Кроме того, ActiveSheet.ChartObjects.Add
отображает неверное присвоение свойства!
Sub WEO_DevCharts()
Sheets("WEO").Activate
Dim objChart As ChartObject
Dim n As Name
Dim ChartName As String
For Each n In ActiveSheet.Names
If n.Name <> "DateRange" Then
ChartName = ActiveSheet.Range(n).Offset(0, -6) & " " & ActiveSheet.Range(n).Offset(0, -5)
Set objChart = ActiveSheet.ChartObjects.Add
With objChart.Chart
.chartType = xlXYScatterLines
.SeriesCollection.Values = n.Value
.SeriesCollection.XValues = ActiveSheet.Range("DateRange").Value
.SeriesCollection.Name = ChartName
.legend.Delete
End With
End If
Next n
End Sub