<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FChart</id>
		<title>VBA/Excel/Access/Word/Excel/Chart - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FExcel%2FChart"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/Chart&amp;action=history"/>
		<updated>2026-04-06T00:10:47Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/Chart&amp;diff=1606&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/Chart&amp;diff=1606&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/Chart&amp;diff=1607&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Excel/Chart&amp;diff=1607&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:35Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Activates the ChartObject named Chart 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub activate()&lt;br /&gt;
    ActiveSheet.ChartObjects(&amp;quot;Chart 1&amp;quot;).Activate&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add Chart==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub AddChart()&lt;br /&gt;
  Dim aChart As Chart&lt;br /&gt;
  ActiveSheet.ChartObjects.Delete&lt;br /&gt;
  Set aChart = Charts.Add&lt;br /&gt;
  Set aChart = aChart.Location(Where:=xlLocationAsObject, Name:=&amp;quot;Sheet1&amp;quot;)&lt;br /&gt;
  With aChart&lt;br /&gt;
    .ChartType = xlColumnClustered&lt;br /&gt;
    .SetSourceData Source:=Sheets(&amp;quot;Sheet1&amp;quot;).Range(&amp;quot;A3:D7&amp;quot;), _&lt;br /&gt;
      PlotBy:=xlRows&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .ChartTitle.Text = &amp;quot;=Sheet1!R3C1&amp;quot;&lt;br /&gt;
    With .Parent&lt;br /&gt;
      .Top = Range(&amp;quot;F3&amp;quot;).Top&lt;br /&gt;
      .Left = Range(&amp;quot;F3&amp;quot;).Left&lt;br /&gt;
      .Name = &amp;quot;MangoesChart&amp;quot;&lt;br /&gt;
    End With&lt;br /&gt;
  End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a Chart Sheet Using VBA Code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddChartSheet()&lt;br /&gt;
         Dim myChart As Chart&lt;br /&gt;
         Set myChart = Charts.add&lt;br /&gt;
         With myChart&lt;br /&gt;
             .SetSourceData Source:=Sheets(&amp;quot;Sheet1&amp;quot;).range(&amp;quot;A3:D7&amp;quot;), _&lt;br /&gt;
                           PlotBy:=xlRows&lt;br /&gt;
             .ChartType = xlColumnClustered&lt;br /&gt;
             .HasTitle = True&lt;br /&gt;
             .ChartTitle.text = &amp;quot;Mangoes&amp;quot;&lt;br /&gt;
         End With&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a New Series to the chart identified by the object variable myChart, drawing the data from the range C4:K4 on the active worksheet in the active workbook, using rows:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub series()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.Chart.SetSourceData Source:= _&lt;br /&gt;
        ActiveWorkbook.Sheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;A1:E5&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.SeriesCollection.Add Source:=ActiveSheet.Range(&amp;quot;C4:K4&amp;quot;), Rowcol:=xlRows&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==add the data labels using the following code:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub AddDataLabels()&lt;br /&gt;
         Dim seSales As Series&lt;br /&gt;
         Dim pts As Points&lt;br /&gt;
         Dim pt As Point&lt;br /&gt;
         Dim rngLabels As range&lt;br /&gt;
         Dim iPointIndex As Integer&lt;br /&gt;
         Set rngLabels = range(&amp;quot;B4:G4&amp;quot;)&lt;br /&gt;
         Set seSales = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)&lt;br /&gt;
         seSales.HasDataLabels = True&lt;br /&gt;
         Set pts = seSales.Points&lt;br /&gt;
         For Each pt In pts&lt;br /&gt;
             iPointIndex = iPointIndex + 1&lt;br /&gt;
             pt.DataLabel.text = rngLabels.cells(iPointIndex).text&lt;br /&gt;
             pt.DataLabel.font.bold = True&lt;br /&gt;
             pt.DataLabel.Position = xlLabelPositionAbove&lt;br /&gt;
         Next pt&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Automatically generating a chart without user interaction==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreateChart(r)&lt;br /&gt;
    Dim TempChart As Chart&lt;br /&gt;
    Application.ScreenUpdating = False&lt;br /&gt;
    &lt;br /&gt;
    Set CatTitles = ActiveSheet.range(&amp;quot;A2:F2&amp;quot;)&lt;br /&gt;
    Set SrcRange = ActiveSheet.range(Cells(r, 1), Cells(r, 6))&lt;br /&gt;
    Set SourceData = Union(CatTitles, SrcRange)&lt;br /&gt;
    &lt;br /&gt;
    Set TempChart = Charts.Add&lt;br /&gt;
    With TempChart&lt;br /&gt;
        .ChartType = xlColumnClustered&lt;br /&gt;
        .SetSourceData Source:=SourceData, PlotBy:=xlRows&lt;br /&gt;
        .HasLegend = False&lt;br /&gt;
        .ApplyDataLabels Type:=xlDataLabelsShowValue, _&lt;br /&gt;
         LegendKey:=False&lt;br /&gt;
        .ChartTitle.Font.Size = 14&lt;br /&gt;
        .ChartTitle.Font.Bold = True&lt;br /&gt;
        .Axes(xlValue).MaximumScale = 0.6&lt;br /&gt;
        .Axes(xlCategory).TickLabels.Font.Size = 10&lt;br /&gt;
        .Axes(xlCategory).TickLabels.Orientation = _&lt;br /&gt;
         xlHorizontal&lt;br /&gt;
        .Location Where:=xlLocationAsObject, name:=&amp;quot;Sheet1&amp;quot;&lt;br /&gt;
    End With&lt;br /&gt;
    With ActiveSheet.ChartObjects(1)&lt;br /&gt;
        .Width = 300&lt;br /&gt;
        .Height = 150&lt;br /&gt;
        .Visible = False&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==convert an existing chart to use arrays instead of cell references and make it independent of the original data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub ConvertSeriesValuesToArrays()&lt;br /&gt;
         Dim seSeries As Series&lt;br /&gt;
         Dim myChart As Chart&lt;br /&gt;
         On Error GoTo Failure&lt;br /&gt;
         Set myChart = ActiveSheet.ChartObjects(1).Chart&lt;br /&gt;
         For Each seSeries In myChart.SeriesCollection&lt;br /&gt;
             seSeries.Values = seSeries.Values&lt;br /&gt;
             seSeries.XValues = seSeries.XValues&lt;br /&gt;
             seSeries.name = seSeries.name&lt;br /&gt;
         Next seSeries&lt;br /&gt;
         Exit Sub&lt;br /&gt;
Failure:&lt;br /&gt;
         MsgBox &amp;quot;Sorry, the data exceeds the array limits&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Chart==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub chart()&lt;br /&gt;
    Dim myChartSheet As Chart&lt;br /&gt;
    Set myChartSheet = ActiveWorkbook.Sheets.Add _&lt;br /&gt;
        (After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count), _&lt;br /&gt;
        Type:=xlChart)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Chart on an Existing Worksheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub charObj()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Chart Using the Chart Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreateExampleChartVersionII() &lt;br /&gt;
    Dim ws As Worksheet &lt;br /&gt;
    Dim rgChartData As Range &lt;br /&gt;
    Dim myChart As Chart &lt;br /&gt;
    Set ws = ThisWorkbook.Worksheets(&amp;quot;Basic Chart&amp;quot;) &lt;br /&gt;
    Set rgChartData = ws.Range(&amp;quot;B1&amp;quot;).CurrentRegion &lt;br /&gt;
    Set myChart = Charts.Add &lt;br /&gt;
    Set myChart = myChart.Location(xlLocationAsObject, ws.Name) &lt;br /&gt;
    With myChart &lt;br /&gt;
        .SetSourceData rgChartData, xlColumns &lt;br /&gt;
        .HasTitle = True &lt;br /&gt;
        .ChartTitle.Caption = &amp;quot;Version II&amp;quot; &lt;br /&gt;
        .ChartType = xlColumnClustered &lt;br /&gt;
        With .Axes(xlCategory) &lt;br /&gt;
            .HasTitle = True &lt;br /&gt;
            .AxisTitle.Caption = &amp;quot;Year&amp;quot; &lt;br /&gt;
        End With &lt;br /&gt;
        With .Axes(xlValue) &lt;br /&gt;
            .HasTitle = True &lt;br /&gt;
            .AxisTitle.Caption = &amp;quot;GDP in billions of $&amp;quot; &lt;br /&gt;
        End With &lt;br /&gt;
    End With &lt;br /&gt;
    Set myChart = Nothing &lt;br /&gt;
    Set rgChartData = Nothing &lt;br /&gt;
    Set ws = Nothing &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating an Embedded Chart==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub AddEmbeddedChart()&lt;br /&gt;
    Dim dataRange As Range&lt;br /&gt;
    Set dataRange = ActiveWindow.Selection   &amp;quot;Chart selected data&lt;br /&gt;
    ActiveSheet.ChartObjects.Add Left:=200, Top:=50, Width:=500,Height:=350&lt;br /&gt;
    ActiveSheet.ChartObjects(1).Activate&lt;br /&gt;
    With ActiveChart      &amp;quot;Set chart properties&lt;br /&gt;
        .ChartType = xlColumnClustered&lt;br /&gt;
        .SeriesCollection.NewSeries&lt;br /&gt;
        .HasLegend = True&lt;br /&gt;
        .Legend.Position = xlRight&lt;br /&gt;
        .Axes(xlCategory).MinorTickMark = xlOutside&lt;br /&gt;
        .Axes(xlValue).MinorTickMark = xlOutside&lt;br /&gt;
        .Axes(xlValue).MaximumScale = Application.WorksheetFunction.RoundUp(Application.WorksheetFunction.Max(dataRange), -1)&lt;br /&gt;
        .Axes(xlCategory, xlPrimary).HasTitle = True&lt;br /&gt;
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text =&amp;quot;X-axis Labels&amp;quot;&lt;br /&gt;
        .Axes(xlValue, xlPrimary).HasTitle = True&lt;br /&gt;
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = &amp;quot;Y-axis&amp;quot;&lt;br /&gt;
        .SeriesCollection(1).name = &amp;quot;Sample Data&amp;quot;&lt;br /&gt;
        .SeriesCollection(1).Values = dataRange&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a New Chart Using the ChartWizard Method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CreateExampleChartVersionI() &lt;br /&gt;
    Dim ws As Worksheet &lt;br /&gt;
    Dim rgChartData As Range &lt;br /&gt;
    Dim myChart As Chart &lt;br /&gt;
    Set ws = ThisWorkbook.Worksheets(&amp;quot;Sheet1&amp;quot;) &lt;br /&gt;
    Set rgChartData = ws.Range(&amp;quot;B1&amp;quot;).CurrentRegion &lt;br /&gt;
    Set myChart = Charts.Add &lt;br /&gt;
    Set myChart = myChart.Location(xlLocationAsObject, ws.Name) &lt;br /&gt;
    With myChart &lt;br /&gt;
        .ChartWizard _ &lt;br /&gt;
            Source:=rgChartData, _ &lt;br /&gt;
            Gallery:=xlColumn, _ &lt;br /&gt;
            Format:=1, _ &lt;br /&gt;
            PlotBy:=xlColumns, _ &lt;br /&gt;
            CategoryLabels:=1, _ &lt;br /&gt;
            SeriesLabels:=1, _ &lt;br /&gt;
            HasLegend:=True, _ &lt;br /&gt;
            Title:=&amp;quot;Version I&amp;quot;, _ &lt;br /&gt;
            CategoryTitle:=&amp;quot;Year&amp;quot;, _ &lt;br /&gt;
            ValueTitle:=&amp;quot;GDP in billions of $&amp;quot; &lt;br /&gt;
    End With &lt;br /&gt;
    Set myChart = Nothing &lt;br /&gt;
    Set rgChartData = Nothing &lt;br /&gt;
    Set ws = Nothing &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a New Series, use the NewSeries method with the SeriesCollection collection.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub newSeries()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.Chart.SetSourceData Source:= _&lt;br /&gt;
        ActiveWorkbook.Sheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;A1:E5&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.SeriesCollection.Add Source:=ActiveSheet.Range(&amp;quot;C4:K4&amp;quot;), Rowcol:=xlRows&lt;br /&gt;
    myChartObject.SeriesCollection.NewSeries&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating Charts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Common Excel Chart Types         &lt;br /&gt;
Chart      VBA Constant (ChartType property of Chart object)         &lt;br /&gt;
Column     xlColumnClustered, xlColumnStacked, xlColumnStacked100         &lt;br /&gt;
Bar        xlBarClustered, xlBarStacked, xlBarStacked100         &lt;br /&gt;
Line       xlLine, xlLineMarkersStacked, xlLineStacked         &lt;br /&gt;
Pie        xlPie, xlPieOfPie         &lt;br /&gt;
Scatter    xlXYScatter, xlXYScatterLines       &lt;br /&gt;
&lt;br /&gt;
Public Sub AddChartSheet()&lt;br /&gt;
    Dim dataRange As Range&lt;br /&gt;
    Set dataRange = ActiveWindow.Selection&lt;br /&gt;
    Charts.Add   &amp;quot;Create a chart sheet&lt;br /&gt;
    With ActiveChart    &amp;quot;Set chart properties&lt;br /&gt;
        .ChartType = xlColumnClustered&lt;br /&gt;
        .HasLegend = True&lt;br /&gt;
&amp;quot;        .Legend.Position = xlRight&lt;br /&gt;
        .Axes(xlCategory).MinorTickMark = xlOutside&lt;br /&gt;
        .Axes(xlValue).MinorTickMark = xlOutside&lt;br /&gt;
        .Axes(xlValue).MaximumScale = _&lt;br /&gt;
                    Application.WorksheetFunction.RoundUp( _&lt;br /&gt;
                    Application.WorksheetFunction.Max(dataRange), -1)&lt;br /&gt;
        .Axes(xlCategory).HasTitle = True&lt;br /&gt;
        .Axes(xlCategory).AxisTitle.Characters.Text = &amp;quot;X-axis Labels&amp;quot;&lt;br /&gt;
        .Axes(xlValue).HasTitle = True&lt;br /&gt;
        .Axes(xlValue).AxisTitle.Characters.Text = &amp;quot;Y-axis&amp;quot;&lt;br /&gt;
        .SeriesCollection(1).name = &amp;quot;Sample Data&amp;quot;&lt;br /&gt;
        .SeriesCollection(1).Values = dataRange&lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Determining a chart&amp;quot;s source data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Test1()&lt;br /&gt;
    Dim DataRange As range&lt;br /&gt;
    Set DataRange = ActiveSheet.range(&amp;quot;A1:A2&amp;quot;)&lt;br /&gt;
    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values = DataRange&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Extending an Existing Series in the chart identified by the object variable myChart using the data in the cells P3:P8 on the worksheet named Chart Data:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub chartSource()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.Chart.SetSourceData Source:= _&lt;br /&gt;
        ActiveWorkbook.Sheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;A1:E5&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.SeriesCollection.Add Source:=ActiveSheet.Range(&amp;quot;C4:K4&amp;quot;), Rowcol:=xlRows&lt;br /&gt;
    myChartObject.SeriesCollection.Extend Source:=Worksheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;P3:P8&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get Chart SeriesCollection value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Test2()&lt;br /&gt;
    Dim DataRange As range&lt;br /&gt;
    Set DataRange = Sheets(&amp;quot;Sheet1&amp;quot;).ChartObjects(1).Chart.SeriesCollection(1).Values&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get Chart sheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub GetChartSheets()&lt;br /&gt;
    Dim myCharts As Sheets&lt;br /&gt;
    Dim chSheet As Chart&lt;br /&gt;
    Set myCharts = ActiveWorkbook.Charts&lt;br /&gt;
    For Each chSheet In myCharts&lt;br /&gt;
        Debug.Print chSheet.name&lt;br /&gt;
    Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get Embedded Charts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub GetEmbeddedCharts()&lt;br /&gt;
    Dim myChart As ChartObject&lt;br /&gt;
    Dim myCharts As ChartObjects&lt;br /&gt;
    Set myCharts = ActiveSheet.ChartObjects&lt;br /&gt;
    For Each myChart In myCharts&lt;br /&gt;
        Debug.Print myChart.Chart.name&lt;br /&gt;
    Next&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==In most cases you can avoid using the worksheet Index property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub InsertChartsBeforeWorksheets2()&lt;br /&gt;
           Dim myWorksheet As Worksheet&lt;br /&gt;
           For Each myWorksheet In Worksheets&lt;br /&gt;
           Charts.add Before:=myWorksheet&lt;br /&gt;
           Next myWorksheet&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Insert chart sheets after each worksheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
     Sub InsertChartsAfterWorksheets()&lt;br /&gt;
           Dim myWorksheet As Worksheet&lt;br /&gt;
           Dim myChart As Chart&lt;br /&gt;
           For Each myWorksheet In Worksheets&lt;br /&gt;
           Set myChart = Charts.add&lt;br /&gt;
           myChart.Move After:=myWorksheet&lt;br /&gt;
           Next myWorksheet&lt;br /&gt;
     End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Inserts a chart before each sheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub InsertChartsBeforeWorksheets()&lt;br /&gt;
   Dim myWorksheet As Worksheet&lt;br /&gt;
 &lt;br /&gt;
   For Each myWorksheet In Worksheets&lt;br /&gt;
      Charts.Add Before:=Sheets(myWorksheet.Index)&lt;br /&gt;
   Next myWorksheet&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Inserts a chart before each sheet 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub InsertChartsBeforeWorksheets2()&lt;br /&gt;
   Dim myWorksheet As Worksheet&lt;br /&gt;
 &lt;br /&gt;
   For Each myWorksheet In Worksheets&lt;br /&gt;
      Charts.Add Before:=myWorksheet&lt;br /&gt;
   Next myWorksheet&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Insert two chart sheets after the last worksheet in the active workbook. The chart sheets receive default names, such as Chart1 and Chart2:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub addAfter()&lt;br /&gt;
    ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count), Count:=2, Type:=xlChart&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modifying the chart type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ModifyChart1()&lt;br /&gt;
    ActiveSheet.ChartObjects(&amp;quot;Chart 1&amp;quot;).activate&lt;br /&gt;
    ActiveChart.Type = xlArea&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Producing an Excel worksheet on a Word ocument==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MakeExcelChart()&lt;br /&gt;
    Dim XLSheet As Object&lt;br /&gt;
    &lt;br /&gt;
    Documents.Add&lt;br /&gt;
    Wbook = &amp;quot;\projections.xls&amp;quot;&lt;br /&gt;
    Set XLSheet = GetObject(Wbook, &amp;quot;Excel.Sheet&amp;quot;).ActiveSheet&lt;br /&gt;
    &lt;br /&gt;
    XLSheet.range(&amp;quot;Value&amp;quot;) = 1&lt;br /&gt;
    XLSheet.range(&amp;quot;Change&amp;quot;) = 2&lt;br /&gt;
    XLSheet.Calculate&lt;br /&gt;
    Selection.Font.Size = 14&lt;br /&gt;
    Selection.Font.Bold = True&lt;br /&gt;
    Selection.TypeText &amp;quot;Monthly Increment: &amp;quot; &amp;amp; Format(2, &amp;quot;0.0%&amp;quot;)&lt;br /&gt;
    Selection.TypeParagraph&lt;br /&gt;
    Selection.TypeParagraph&lt;br /&gt;
    XLSheet.range(&amp;quot;data&amp;quot;).Copy&lt;br /&gt;
    Selection.Paste&lt;br /&gt;
    &lt;br /&gt;
    XLSheet.ChartObjects(1).Copy&lt;br /&gt;
    Selection.PasteSpecial _&lt;br /&gt;
        Link:=False, _&lt;br /&gt;
        DataType:=wdPasteMetafilePicture, _&lt;br /&gt;
        Placement:=wdInLine, DisplayAsIcon:=False&lt;br /&gt;
    &lt;br /&gt;
    Set XLSheet = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference Char object from ActiveSheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub m()&lt;br /&gt;
    ActiveSheet.ChartObjects(1).Select&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referencing Charts and Chart Objects in VBA Code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SpecifyLocation()&lt;br /&gt;
    Dim WS As Worksheet&lt;br /&gt;
    Set WS = Worksheets(&amp;quot;Sheet1&amp;quot;)&lt;br /&gt;
    WS.Shapes.AddChart(xlColumnClustered, Left:=100, Top:=150, Width:=400, Height:=300).Select&lt;br /&gt;
    ActiveChart.SetSourceData Source:=WS.range(&amp;quot;A1:E4&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retrieving data point labels from field names in the worksheet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub DataLabelsFromRange()&lt;br /&gt;
    Dim DLRange As range&lt;br /&gt;
    Dim myChart As Chart&lt;br /&gt;
    Dim i As Integer&lt;br /&gt;
    &lt;br /&gt;
    Set myChart = ActiveSheet.ChartObjects(1).Chart&lt;br /&gt;
    On Error Resume Next&lt;br /&gt;
    Set DLRange = Application.InputBox _&lt;br /&gt;
      (prompt:=&amp;quot;Range for data labels?&amp;quot;, Type:=8)&lt;br /&gt;
    If DLRange Is Nothing Then Exit Sub&lt;br /&gt;
    On Error GoTo 0&lt;br /&gt;
    myChart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowValue, AutoText:=True, LegendKey:=False&lt;br /&gt;
    Pts = myChart.SeriesCollection(1).Points.Count&lt;br /&gt;
    For i = 1 To Pts&lt;br /&gt;
        myChart.SeriesCollection(1). _&lt;br /&gt;
          Points(i).DataLabel.Characters.Text = DLRange(i)&lt;br /&gt;
    Next i&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Select a chart object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub m()&lt;br /&gt;
    ActiveWorkbook.Charts(1).Select&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Show chart==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ShowChart()&lt;br /&gt;
    UserRow = ActiveCell.Row&lt;br /&gt;
    If UserRow &amp;lt; 2 Or IsEmpty(Cells(UserRow, 1)) Then&lt;br /&gt;
        MsgBox &amp;quot;Move the cell cursor to a row that contains data.&amp;quot;&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    CreateChart (UserRow)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Specify Exact Location==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SpecifyExactLocation()&lt;br /&gt;
    Dim WS As Worksheet&lt;br /&gt;
    Set WS = Worksheets(&amp;quot;Sheet1&amp;quot;)&lt;br /&gt;
    WS.Shapes.AddChart(xlColumnClustered, _&lt;br /&gt;
        Left:=WS.range(&amp;quot;C11&amp;quot;).Left, _&lt;br /&gt;
        Top:=WS.range(&amp;quot;C11&amp;quot;).Top, _&lt;br /&gt;
        Width:=WS.range(&amp;quot;C11:J11&amp;quot;).Width, _&lt;br /&gt;
        Height:=WS.range(&amp;quot;C11:C30&amp;quot;).Height).Select&lt;br /&gt;
    ActiveChart.SetSourceData Source:=WS.range(&amp;quot;A1:E4&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Specifying the Chart Type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub chartType()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.Chart.SetSourceData Source:= _&lt;br /&gt;
        ActiveWorkbook.Sheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;A1:E5&amp;quot;)&lt;br /&gt;
    myChartObject.ChartType = xlColumnStacked&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Specifying the Source Data for the Chart by using the SetSourceData method of the Chart object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub width()&lt;br /&gt;
    Dim myChartObject As ChartObject&lt;br /&gt;
    Set myChartObject = ActiveSheet.ChartObjects.Add(Left:=200, Top:=200, _&lt;br /&gt;
        Width:=400, Height:=300)&lt;br /&gt;
    &lt;br /&gt;
    myChartObject.Chart.SetSourceData Source:= _&lt;br /&gt;
        ActiveWorkbook.Sheets(&amp;quot;Chart Data&amp;quot;).Range(&amp;quot;A1:E5&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==To ensure that a chart is selected, you can add a statement to determine if a chart is active.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChartMods2()&lt;br /&gt;
    If ActiveChart Is Nothing Then&lt;br /&gt;
        MsgBox &amp;quot;Activate a chart.&amp;quot;&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    ActiveChart.Type = xlArea&lt;br /&gt;
    ActiveChart.ChartArea.font.name = &amp;quot;Calibri&amp;quot;&lt;br /&gt;
    ActiveChart.ChartArea.font.FontStyle = &amp;quot;Regular&amp;quot;&lt;br /&gt;
    ActiveChart.ChartArea.font.Size = 9&lt;br /&gt;
    ActiveChart.PlotArea.Interior.ColorIndex = xlNone&lt;br /&gt;
    ActiveChart.Axes(xlValue).TickLabels.font.bold = True&lt;br /&gt;
    ActiveChart.Axes(xlCategory).TickLabels.font.bold = True&lt;br /&gt;
    ActiveChart.Legend.Position = xlBottom&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use For Each to loop through all chart objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ChangeCharts()&lt;br /&gt;
    Dim myChart As ChartObject&lt;br /&gt;
    For Each myChart In Sheets(&amp;quot;Sheet1&amp;quot;).ChartObjects&lt;br /&gt;
        myChart.Chart.ChartType = xlLine&lt;br /&gt;
    Next myChart&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>