Перед тем, как спросить, я много искал в Интернете, и ответы, которые я нашел, не решили проблему.Рабочий лист «Данные» находится в той же рабочей книге, что и рабочий лист «Отчеты».

Это часть моего кода, которая имеет значение для этого вопроса:
Private Function CreateChart(ByVal DataRow As Integer, ByVal DataCol As Integer)
Dim ChartRowOffset As Integer
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Data").Range(Cells(2, DataCol), Cells(DataRow - 1, DataCol + 1)), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Report"
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Select
ActiveChart.ChartTitle.Text = ThisWorkbook.Sheets("Data").Cells(1, DataCol).Value
If DataCol > 1 Then
ChartRowOffset = (DataCol - 1) * 2
Else
ChartRowOffset = 2
End If
With ActiveChart.Parent
.Top = ThisWorkbook.Sheets("Report").Cells(ChartRowOffset, 1).Top
.Left = ThisWorkbook.Sheets("Report").Cells(ChartRowOffset, 1).Left
End With
End Function
Я получаю код ошибки 1004 «Ошибка приложения или объекта» при попытке выбрать источник из другого листа в этой строке:
ActiveChart.SetSourceData Source:=Sheets("Data").Range(Cells(2, DataCol), Cells(DataRow - 1, DataCol + 1)), PlotBy:=xlColumns
Если я сделаю это без Sheets («Данные»), он не выдаст ошибку и создаст диаграмму, но выберет ячейки на листе «Reports», а не нужную мне рабочую таблицу.Я попытался выбрать рабочий лист «Данные», активировать его, но пока ничего не получалось.
Буду признателен за любую помощь.