用户窗体中的图表空间的Excel VBA数组数据源

我尝试在Excel用户Userform生成条形图 – Chartspace有没有可能使用VBA生成的数组数据作为条形图的源代码。 我只能findSpreadsheet描述作为源。

 Private Sub UserForm_Activate() Dim z As Long, s As Integer Dim cc Dim ch1 Dim pt For z = 1 To 9 For s = 1 To 2 Spreadsheet1.ActiveSheet.Cells(z, s) = Sheets("Tabelle1").Cells(z, s) Next Next Set cc = ChartSpace1.Constants Set ChartSpace1.DataSource = Spreadsheet1 '<-- does it need linked to a spreadsheet? Set ch1 = ChartSpace1.Charts.Add ch1.Type = cc.chChartTypeLineMarkers ch1.SetData 1, 0, "A2:A9" ch1.SeriesCollection(0).SetData 2, 0, "B2:B9" End Sub 

是另一种方式来显示一个用户表单中的条形图,我可以使用数组源? 非常感谢。

也许这个build议如何去做:

http://msdn.microsoft.com/en-us/library/office/aa193650(v=office.11​&#x200B;).aspx

这个例子(稍加修改,以便我可以从上面的链接进行testing)使用文字数据数组创build图表。

输出示例

在这里输入图像说明

代码示例

 Sub BindChartToArrays() Dim asSeriesNames(1) Dim asCategories(7) Dim aiValues(7) Dim chConstants Dim chtNewChart Dim myChtSpace As ChartSpace asSeriesNames(0) = "Satisfaction Data" asCategories(0) = "Very Good" asCategories(1) = "Good" asCategories(2) = "N/A" asCategories(3) = "Average" asCategories(4) = "No Response" asCategories(5) = "Poor" asCategories(6) = "Very Poor" aiValues(0) = 10 aiValues(1) = 22 aiValues(2) = 6 aiValues(3) = 31 aiValues(4) = 5 aiValues(5) = 14 aiValues(6) = 12 Set myChtSpace = UserForm1.ChartSpace1 Set chConstants = myChtSpace.Constants ' Add a new chart to Chartspace1. Set chtNewChart = myChtSpace.Charts.Add ' Specify that the chart is a column chart. chtNewChart.Type = chConstants.chChartTypeColumnClustered ' Bind the chart to the arrays. chtNewChart.SetData chConstants.chDimSeriesNames, chConstants.chDataLiteral, asSeriesNames chtNewChart.SetData chConstants.chDimCategories, chConstants.chDataLiteral, asCategories chtNewChart.SeriesCollection(0).SetData chConstants.chDimValues, chConstants.chDataLiteral, aiValues UserForm1.Show End Sub