在VBA中创建图表(Microsoft Excel)
Excel从工作表中的数据创建图表非常方便。如果要直接从VBA创建图表而不使用工作表中的任何数据怎么办?您可以通过“欺骗” Excel使其认为它正在使用工作表中的信息,然后提供自己的信息来做到这一点。
以下宏说明了此概念:
Sub MakeChart() 'Add a new chart Charts.Add 'Set the dummy data range for the chart ActiveChart.SetSourceData Sheets("Sheet1").Range("a1:d4"), _ PlotBy:=xlColumns 'Manually set the values for the data series ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(""First Data"",{""a"",""b"",""c"",""d""},{2,3,4,5},1)" ActiveChart.SeriesCollection(2).Formula = _ "=SERIES(""Second Data"",{""a"",""b"",""c"",""d""},{6,7,8,9},2)" ActiveChart.SeriesCollection(3).Formula = _ "=SERIES(""Third Data"",{""a"",""b"",""c"",""d""},{10,11,12,13},3)" End Sub
此示例中的注释说明了每个步骤的操作。
设置虚拟数据范围时,SetSourceData方法假定范围位于名为Sheet1的工作表上。如果工作簿中没有这样的工作表,则需要相应地更改命令。
以后,当手动设置数据系列的值时,SERIES命令用于指定该系列的标签(第一数据,第二数据和第三数据),类别标签的数组(a,b,c和d)在所有系列中),该系列的值的数组以及一个数字,指定该数字代表哪个系列号。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2622)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: