Month Organic Direct
Dec-15 £3,112 £0
我录制了VBA代码,用于绘制上述数据的饼图。我导出的数据最多可以有6个标题(上面的例子显示了两个标题)。代码设置为选择6列宽的范围。当导出的标题少于6个时,需要手动调整图表。
我需要什么,所以使用的范围仅适用于数据,例如什么时候只有2个标题而不是6个?
答案 0 :(得分:0)
我不知道您需要多少帮助,因为您没有发布任何代码。
在最简单的情况下,在Excel 2013和2016中,您可以使用
ActiveSheet.Shapes.AddChart2(251, xlPie).Chart.SetSourceData _
Source:=ActiveSheet.Range("A1").CurrentRegion, PlotBy:=xlRows
在Excel 2007和2010(以及2013和2016年,但它没有应用更好的默认样式):
ActiveSheet.Shapes.AddChart(xlPie).Chart.SetSourceData _
Source:=ActiveSheet.Range("A1").CurrentRegion, PlotBy:=xlRows
这假设数据在单元格A1中开始,并且正在绘制的数据不会触及任何其他数据(也就是说,最后一列数据右侧有一个空白列,而这两行下面有一个空行用标签和数据显示。 CurrentRegion查找围绕参考范围的数据包含区域(在这种情况下,参考范围是单元格A1),最多为空白行和列。
答案 1 :(得分:-1)
这一切都发生在同一个工作簿中吗?
我首先看一下dynmamic范围,
这是一个很好的起点: https://www.thespreadsheetguru.com/blog/5-ways-to-create-a-dynamic-auto-adjusting-vba-range
也看这里: Using VBA to select a dynamic range of cells and create a chart