VBA和x2B;Matlab:饼图故障

VBA和x2B;Matlab:饼图故障,matlab,vba,pie-chart,Matlab,Vba,Pie Chart,我的任务是“在excel中创建饼图,然后在matlab中显示” 我想,我有两个问题: 1) 此图表是否正确创建图表?(A1-A6为名称,B1-B6为编号) 好的,这个函数可以工作 Function CreateChart() As Excel.Chart Dim title As String title = "One" Dim Book As Workbook Set Book = ThisWorkbook Dim new_sheet As Excel.Worksheet Set new

我的任务是“在excel中创建饼图,然后在matlab中显示”

我想,我有两个问题:

1) 此图表是否正确创建图表?(A1-A6为名称,B1-B6为编号)

好的,这个函数可以工作

Function CreateChart() As Excel.Chart
Dim title As String
title = "One"


Dim Book As Workbook
Set Book = ThisWorkbook

Dim new_sheet As Excel.Worksheet
Set new_sheet = Book.Sheets(1)

Dim new_chart As Excel.Chart
Set new_chart = Charts.Add()

ActiveChart.ChartType = xlPie

ActiveChart.SetSourceData Source:=new_sheet.Range("A1:B6"), _
      PlotBy:=xlColumns

ActiveChart.Location Where:=xlLocationAutomatic, Name:=title

With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = title
End With

Set CreateChart = new_chart
End Function
2) 如何与此过程交互(将来-功能,返回图表)

使用matlab并在matlab中绘制此饼图

   function chart = CreateChart( DataMatrix )

   pie = actxserver('Excel.Chart');
   all_pies = actxserver('Excel.Charts');
   pietype = actxserver('Excel.XlChartType');

   pie = all_pies.Add();

   pie.ChartType = pietype.xlPie;

   % here is a trouble to put data from matrix

   pie.SetSourceData Source DataMatrix              %hm.. strange

   end
这个代码不起作用!(我不知道如何重写字符串

ActiveChart.SetSourceData:=新的工作表范围(“A1:B6”),PloBy=xlColumns
)

注:我认为最好从excel文件加载脚本并返回图表


但是如何在matlab中使用此图表?(并绘制)

您始终可以使用将excel值加载到matlab,并使用或在matlab中绘制饼图。

永远不要说“此代码不起作用”。相反,请解释它是如何不起作用的。它实际上做什么?你希望它能做什么,为什么?如果有错误消息,那么整个错误消息到底说了什么?您的第一段代码引用了一个名为
new\u sheet
的东西,它似乎在任何地方都没有定义。它是不是应该是新的图表或工作表之类的?@GarethMcCaughan。我纠正了这个问题。但是我对vba脚本有一个问题:如何分配数组变量?可能吗?(源定义为范围)但是否可以调用此vba脚本并返回饼图并绘制它?(奇怪,我认为matlab不会画饼图:\)你认为matlab不会画饼图当然很奇怪,尤其是因为Gunther的答案告诉你要使用哪些函数。