如何使用来自不同工作表的来源创建图表

时间:2019-03-10 21:05:52

标签: excel vba charts

在问我之前,我在网上进行了很多搜索,发现的答案并不能解决问题。 “数据”工作表与“报告”工作表位于同一工作簿中。

enter image description here

这是我的代码中与以下问题相关的部分: 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(“ Data”)进行操作,则不会出错并创建图表,但是会从“ Reports”表中选择单元格,而不是我需要的工作表。 我尝试选择“数据”工作表,将其激活,到目前为止没有任何效果。

任何帮助将不胜感激。

0 个答案:

没有答案