bottom
Great ExcelTips!
         
Your e-mail address is safe!
Close Note

Tips.Net > ExcelTips Home > Macros > VBA Examples > Creating Charts in VBA

Creating Charts in VBA

Summary: Most charts you create in Excel are based on information stored in a worksheet. You can also create charts based on information supplied by a macro, however. This tip explains how. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

Excel is very handy at creating charts from data in a worksheet. What if you want to create a chart directly from VBA, without using any data in a worksheet? You can do this by "fooling" Excel into thinking it is working with information from a worksheet, and then providing your own. The following macro illustrates this concept:

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

The comments in this example explain what is going on for each step. When setting the dummy data range, the SetSourceData method assumes the range is on a worksheet named Sheet1. If you don't have such a sheet in your workbook, you will need to alter the command accordingly.

Later, when manually setting the values for the data series, the SERIES command is used to specify the label for the series (First Data, Second Data, and Third Data), the array of category labels (a, b, c, and d in all series), the array of values for the series, and a number specifying which series number this represents.

Tip #2622 applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007


Save Time and Money! Many people need to keep track of employee time, but don't know where to start when it comes to creating a spreadsheet. Here's a way to save time, effort, and money with ready-to-use timesheet templates.
 
Check out Timesheet Templates today!

Helpful Links

Ask an Excel Question
Make a Comment

Tips.Net Home
Vital News Home

ExcelTips FAQ
ExcelTips Premium

Learn Access Now

Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

 

Great Info!

Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your e-mail address and click "Subscribe."
     
(Your e-mail address will never be shared with anyone, ever.)