Click here to Skip to main content
13,143,459 members (32,997 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Can anybody see what I have left out? The following code extracts succeed in successfully placing a ChartObject on the right Worksheet, which appears to have picked up the data series and, if the First Failure is commented out, the correct Chart type. However, nothing I have managed to do allows me to set the Chart Title or to make the beastly thing actually appear!

xlApp is the Excel application
xlWB is the Excel Workbook
xlWS has been declared as Object
xlChartSheet has been declared as object and set as the active sheet
oRange has been declared as Object

sCalcSheetName, sRowAddress, sLeftRowCell, sRightRowCell, sRowName have been declared as a string

Relevant lines of code are as follows:
<br />
    xlChartSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)

(Commented out) Code below reads the data series of the Chart, one series at a time, finds the Worksheet on which the row appears, reads its address, gets the left and right cells of the range, creates a Range object which is added to the Charts SeriesCollection, as follows

    While sContent.Length is greater than 0<br />
<br />
                ...<br />
<br />
         xlApp.Goto(sRowName)<br />
         xlWS = xlWB.ActiveSheet<br />
         sCalcSheetName = xlWS.Name<br />
         xlRange = xlWS.Range(sRowName)<br />
         sRowAddress = xlRange.Address<br />
         sLeftRowCell = xxx             (string to the left of the colon)<br />
         sRightRowCell = yyy            (string to the right of the colon)<br />
<br />
         oRange = xlWS.Range(sLeftRowCell, sRightRowCell)<br />
<br />
         xlChartSheet.ChartObjects(1).Chart.SeriesCollection.Add(oRange)<br />
<br />
                ...<br />
<br />
      End While

(Question) All of which seems to be working, but it never reaches either of the two snippets below; Can anyone spot what have I left out?

(First failure) With the following, throws up Unable to set the HasAxis property of the Chart Class

With xlChartSheet.ChartObjects(1).Chart<br />
    .HasAxis(1, 1) = False<br />
    .HasAxis(2, 1) = False<br />
End With

(Second failure) Without the above, throws up Unable to set the HasTitle property of the Chart Class

With xlChartSheet.ChartObjects(1).Chart<br />
     .ChartType = 4<br />
     .HasLegend = False<br />
     .HasTitle = True<br />
End With

(NB) xlConstants in the two snippets above have been replaced with their numeric values
Posted 17-May-10 6:59am
Updated 17-May-10 8:25am
Dalek Dave433.3K
losmac 20-Jan-11 16:38pm
Show me all code lines and tell me: are you using OLE automation or InteropServices?
KimberleeL 3-Jun-15 7:54am
Refer to a following article:
Creating excel charts with VB.NET[^]

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web02 | 2.8.170915.1 | Last Updated 17 May 2010
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100