Creating Chart with Excel (ActiveX)

18 views (last 30 days)
Right now I'm writing the code for the output of an app I developed with the appdesigner, and I'm struggling to make it create a chart using Actx. I'm getting a strange error saying that the method for creating a chart cannot be found :/ Other than that all the commands that I've sent to excel are working just fine....
Line of code used:
Chart=wb.ActiveSheet.ChartObjects.Add();
Any idea what's happening?
Thanks a lot in advance.

Accepted Answer

Guillaume
Guillaume on 9 Nov 2017
A lot of VBA examples on the net use Activexxx to refer to various objects. It always befuddles me since that breaks easily (something else, maybe the user, may change what is actually active).
Possibly, the ActiveSheet is not a worksheet to which a Chart object can be added. Rather than using ActiveSheet get the reference to the sheet you actually want to use:
ws = wb.Sheets.Item(sheetnameornumber);
chart = ws.ChartObjects.Add
If that still doesn't work, then I would break down the expression to see which part actually fails:
worksheets = wb.Worksheets; %get the worksheet collection
ws = worksheets.Item(nameorindex); %get a specific worksheet
chartobjects = ws.ChartObjects; %get the chartobject collection of the worksheet
chart = chartobjects.Add; %add a chart
  3 Comments
Guillaume
Guillaume on 9 Nov 2017
AddChart2 is not a method of the Worksheet object. It is a method of the Shapes collection which is a completely different collection from the ChartObjects collection.
Mike Shives
Mike Shives on 15 Aug 2023
I just tried using ws.ChartObjects.Add and got the message ''Add' requires Model-Based Calibration Toolbox.' any advice?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!