首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用动态数据源创建分段VBA代码

用动态数据源创建分段VBA代码
EN

Stack Overflow用户
提问于 2017-11-08 11:10:25
回答 1查看 1.8K关注 0票数 0

在VBA中,作为sub()的最后一步,我尝试编写一段代码来在子类结果的数据上创建饼图,但是我很难将数据源定义为数据的列位置,而且行数也不同。这是当前的代码。

代码语言:javascript
复制
'Create Pie chart

Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range(Cells(2, X + 2), Cells(1 + Y, X + 2)), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Market Simulator"
ActiveChart.HasTitle = False

在代码的前面填充了X和Y,X表示图表源数据被移到右边的列数,Y表示数据源有多少行长(不包括标头)。

当我尝试运行这个子程序时,我得到了一个“对象_global失败的方法单元格”错误,从在线搜索中可以看出这似乎是触发的,因为数据源位置不够具体,但是我不知道如何在定义工作表和单元格的情况下更加具体。我也尝试过添加工作簿,但没有帮助。

EN

Stack Overflow用户

回答已采纳

发布于 2017-11-08 11:43:32

可能常见的错误是,您没有使用工作表完全限定所有范围/单元格引用。当您添加图表表时,Sheet1不再是活动的,然后代码将尝试访问图表表上的单元格,这些单元格永远不会愉快地结束。注意下面两个单元格前面的点。

代码语言:javascript
复制
Charts.Add
ActiveChart.ChartType = xlPie
With Sheets("Sheet1")
    ActiveChart.SetSourceData Source:=.Range(.Cells(2, x + 2), .Cells(1 + y, x + 2)), PlotBy:= _
xlColumns
End With
ActiveChart.Location Where:=xlLocationAsObject, Name:="Market Simulator"
ActiveChart.HasTitle = False
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47178193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档