<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Delete and Replace All Embedded Charts in Workbook' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Delete and Replace All Embedded Charts in Workbook' posted on the 'VBA' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2012 Programmers Heaven</copyright>
    <pubDate>Thu, 24 May 2012 01:07:20 -0700</pubDate>
    <lastBuildDate>Thu, 24 May 2012 01:07:20 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Delete and Replace All Embedded Charts in Workbook</title>
      <link>http://www.programmersheaven.com/mb/vba/410582/410582/delete-and-replace-all-embedded-charts-in-workbook/</link>
      <description>I have written a VBA code that generates several charts but what I'd like to do is that each time I run the program the new chart comes and overwrites the old one, so I will always have the most accurate chart in my workbook. Also, When you'll see my code, I have included in every 'Phase' what I thought to be my solution to my problem in deleting and replacing each and every chart in the workbook:&lt;br /&gt;
Of course I customized the loop below for each chart&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
For Each SumExpC In ThisWorkbook.Charts&lt;br /&gt;
    &lt;br /&gt;
            If SumExpC.Name = "SumExpC" Then&lt;br /&gt;
            SumExpC.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set SumExpC = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set SumExpC = SumExpC.Location(where:=xlLocationAsObject, Name:="Exposure I")  &lt;br /&gt;
------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Thank you so much for help. I will really appreciate any insight.&lt;br /&gt;
PS: the code is extremely redundant but it's important that I attach it all, So you can see all my embedded charts.&lt;br /&gt;
&lt;br /&gt;
And Sorry for this long email.;)&lt;br /&gt;
&lt;br /&gt;
'Phase 2 ---------------------------------------------------------&lt;br /&gt;
    Sub SampleTransparencyReport()&lt;br /&gt;
&lt;br /&gt;
Dim SumExpC As Chart 'Summary Exposure by Currency&lt;br /&gt;
       &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
       &lt;br /&gt;
    For Each SumExpC In ThisWorkbook.Charts&lt;br /&gt;
    &lt;br /&gt;
            If SumExpC.Name = "SumExpC" Then&lt;br /&gt;
            SumExpC.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set SumExpC = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set SumExpC = SumExpC.Location(where:=xlLocationAsObject, Name:="Exposure I")&lt;br /&gt;
    &lt;br /&gt;
    With SumExpC&lt;br /&gt;
    .ChartType = xlBarClustered&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure I").Range("P32:Q39"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Summary Exposure by Currency" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 9.6 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
     &lt;br /&gt;
    &lt;br /&gt;
        With SumExpC.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With SumExpC.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With SumExpC.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 384 'Range("A31").Top&lt;br /&gt;
            .Left = 0 ' Range("A31").Left&lt;br /&gt;
            .Height = 180&lt;br /&gt;
            .Width = 280&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
        &lt;br /&gt;
    'Phase 3 ---------------------------------------------------------&lt;br /&gt;
    Dim SumExpA As Chart 'Summary Exposure by Asset Class&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete&lt;br /&gt;
    &lt;br /&gt;
     For Each SumExpA In ThisWorkbook.Charts&lt;br /&gt;
&lt;br /&gt;
            If SumExpA.Name = "SumExpA" Then&lt;br /&gt;
            SumExpA.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set SumExpA = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set SumExpA = SumExpA.Location(where:=xlLocationAsObject, Name:="Exposure I")&lt;br /&gt;
            &lt;br /&gt;
    With SumExpA&lt;br /&gt;
    .ChartType = xlBarClustered&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure I").Range("M32:N40"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Summary Exposure by Asset Class" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 9.6 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        With SumExpA.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
&lt;br /&gt;
        With SumExpA.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        With SumExpA.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
&lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 384 'Range("E31").Top&lt;br /&gt;
            .Left = 306 'Range("E31").Left&lt;br /&gt;
            .Height = 180&lt;br /&gt;
            .Width = 280&lt;br /&gt;
        End With&lt;br /&gt;
&lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
&lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
     &lt;br /&gt;
     &lt;br /&gt;
    'Phase 4 ---------------------------------------------------------&lt;br /&gt;
    'This MsgBox returns values for the Height, Width, Top &amp;amp; Left &amp;amp; Cell positions of a Chart in a Worksheet&lt;br /&gt;
'    Dim SumExp As ChartObject&lt;br /&gt;
'    Dim SumExpTop As Integer&lt;br /&gt;
'    Dim SumExpLeft As Integer&lt;br /&gt;
'    Dim SumExpTopLeftCell As String&lt;br /&gt;
'&lt;br /&gt;
'    For Each SumExp In ActiveSheet.ChartObjects&lt;br /&gt;
'        SumExpTop = SumExp.Top&lt;br /&gt;
'        SumExpLeft = SumExp.Left&lt;br /&gt;
'        SumExpWidth = SumExp.Width 'delete&lt;br /&gt;
'        SumExpHeight = SumExp.Height 'delete&lt;br /&gt;
'        SumExpTopLeftCell = SumExp.TopLeftCell.Address&lt;br /&gt;
'        MsgBox (SumExp.Name &amp;amp; vbCr &amp;amp; "Width=" &amp;amp; SumExpWidth &amp;amp; vbCr &amp;amp; "Height=" &amp;amp; SumExpHeight &amp;amp; vbCr &amp;amp; "Top = " &amp;amp; SumExpTop &amp;amp; vbCr &amp;amp; "Left = " &amp;amp; SumExpLeft &amp;amp; vbCr &amp;amp; "Cell = " &amp;amp; SumExpTopLeftCell)&lt;br /&gt;
'    Next&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
     'Phase 5 ---------------------------------------------------------&lt;br /&gt;
    Dim SectorBreakdownE As Chart 'Equity Sector Breakdown Exposures&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete&lt;br /&gt;
    &lt;br /&gt;
    For Each SectorBreakdownE In ThisWorkbook.Charts&lt;br /&gt;
&lt;br /&gt;
            If SectorBreakdownE.Name = "SectorBreakdownE" Then&lt;br /&gt;
            SectorBreakdownE.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set SectorBreakdownE = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set SectorBreakdownE = SectorBreakdownE.Location(where:=xlLocationAsObjec
t, Name:="Exposure II")&lt;br /&gt;
        &lt;br /&gt;
    With SectorBreakdownE&lt;br /&gt;
    .ChartType = xlBarClustered&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("P6:Q15"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Sector Breakdown" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With SectorBreakdownE.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With SectorBreakdownE.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With SectorBreakdownE.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 86 'Range("A7").Top&lt;br /&gt;
            .Left = 0 ' Range("A7").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 6 ---------------------------------------------------------&lt;br /&gt;
    Dim MarketCap As Chart 'Market Capitalization&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
    &lt;br /&gt;
    For Each MarketCap In ThisWorkbook.Charts&lt;br /&gt;
&lt;br /&gt;
            If MarketCap.Name = "MarketCap" Then&lt;br /&gt;
            MarketCap.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set MarketCap = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set MarketCap = MarketCap.Location(where:=xlLocationAsObject, Name:="Exposure II")&lt;br /&gt;
            &lt;br /&gt;
    With MarketCap&lt;br /&gt;
    .ChartType = xlBarClustered&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("S6:T9"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Market Capitalization" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With MarketCap.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With MarketCap.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With MarketCap.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 86 'Range("D7").Top&lt;br /&gt;
            .Left = 250 ' Range("D7").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 7 ---------------------------------------------------------&lt;br /&gt;
    Dim LiquidP As Chart 'Liquidity Profile&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
       &lt;br /&gt;
    For Each LiquidP In ThisWorkbook.Charts&lt;br /&gt;
&lt;br /&gt;
            If LiquidP.Name = "LiquidP" Then&lt;br /&gt;
            LiquidP.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set LiquidP = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set LiquidP = LiquidP.Location(where:=xlLocationAsObject, Name:="Exposure II")&lt;br /&gt;
       &lt;br /&gt;
    With LiquidP&lt;br /&gt;
    .ChartType = xlColumnClustered 'Clustered Column Chart Type&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("V6:W10"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Liquidity Profile" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With LiquidP.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With LiquidP.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With LiquidP.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 86 'Range("I7").Top&lt;br /&gt;
            .Left = 490 ' Range("I7").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 8 ---------------------------------------------------------&lt;br /&gt;
    Dim SectorBreakdownC As Chart 'Credit Sector Breakdown&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
      &lt;br /&gt;
     For Each SectorBreakdownC In ThisWorkbook.Charts&lt;br /&gt;
&lt;br /&gt;
            If SectorBreakdownC.Name = "SectorBreakdownC" Then&lt;br /&gt;
            SectorBreakdownC.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set SectorBreakdownC = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set SectorBreakdownC = SectorBreakdownC.Location(where:=xlLocationAsObjec
t, Name:="Exposure II")&lt;br /&gt;
            &lt;br /&gt;
    With SectorBreakdownC&lt;br /&gt;
    .ChartType = xlBarClustered 'Clustered Bar Chart Type&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("P27:Q36"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Sector Breakdown" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With SectorBreakdownC.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With SectorBreakdownC.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With SectorBreakdownC.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 330 'Range("A27").Top&lt;br /&gt;
            .Left = 0 ' Range("A27").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 9 ---------------------------------------------------------&lt;br /&gt;
    Dim RatingDistrib As Chart 'Credit Ratings Distribution&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete '.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
    &lt;br /&gt;
    For Each RatingDistrib In ThisWorkbook.Charts 'Replacing Old Chart by New One&lt;br /&gt;
&lt;br /&gt;
            If RatingDistrib.Name = "RatingDistrib" Then&lt;br /&gt;
            RatingDistrib.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set RatingDistrib = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set RatingDistrib = RatingDistrib.Location(where:=xlLocationAsObject, Name:="Exposure II")&lt;br /&gt;
                    &lt;br /&gt;
    With RatingDistrib&lt;br /&gt;
    .ChartType = xlBarClustered 'Clustered Bar Chart Type&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("S27:T34"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "Ratings Distribution" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With RatingDistrib.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With RatingDistrib.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With RatingDistrib.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 330 'Range("E27").Top&lt;br /&gt;
            .Left = 250 ' Range("E27").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 10 ---------------------------------------------------------&lt;br /&gt;
    Dim DV01 As Chart 'DV01 by Maturity Bucket&lt;br /&gt;
    &lt;br /&gt;
    'ActiveSheet.ChartObjects.Delete 'Add .Delete if you want to CLEAR ALL EXISTING CHARTS&lt;br /&gt;
    &lt;br /&gt;
    For Each DV01 In ThisWorkbook.Charts 'Replacing Old Chart by New One&lt;br /&gt;
&lt;br /&gt;
            If DV01.Name = "DV01" Then&lt;br /&gt;
            DV01.Delete&lt;br /&gt;
            End If&lt;br /&gt;
                Next&lt;br /&gt;
            Set DV01 = ThisWorkbook.Charts.Add&lt;br /&gt;
            Set DV01 = DV01.Location(where:=xlLocationAsObject, Name:="Exposure II")&lt;br /&gt;
       &lt;br /&gt;
    With DV01&lt;br /&gt;
    .ChartType = xlColumnClustered 'Clustered Column Chart Type&lt;br /&gt;
    .SetSourceData Source:=Sheets("Exposure II").Range("V27:W30"), PlotBy:=xlColumns&lt;br /&gt;
    .HasTitle = True&lt;br /&gt;
    .HasLegend = False 'No Legend&lt;br /&gt;
    .HasAxis(xlValue, xlPrimary) = True 'Has Horizontal Axis&lt;br /&gt;
    .HasAxis(xlCategory, xlPrimary) = True 'Has Vertical Axis&lt;br /&gt;
    .ChartTitle.Text = "DV01 by Maturity Bucket" 'Chart Title&lt;br /&gt;
    .ChartTitle.Font.Size = 8 'Font Size&lt;br /&gt;
    .ChartTitle.Font.Name = "Bell MT" 'Font&lt;br /&gt;
    .SeriesCollection(1).Interior.ColorIndex = 9 'Dark Red Color for Bars&lt;br /&gt;
    .PlotArea.Border.LineStyle = xlContinuous&lt;br /&gt;
    .ChartArea.Border.LineStyle = 0 'Removes the Chart Area Border Line&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
        With DV01.Axes(xlValue, xlPrimary) 'Horizontal Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With DV01.Axes(xlCategory, xlPrimary) 'Vertical Label Font Size and Font Name&lt;br /&gt;
            .TickLabels.Font.Size = 8&lt;br /&gt;
            .TickLabels.Font.Name = "Bell MT"&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
         &lt;br /&gt;
        With DV01.PlotArea&lt;br /&gt;
            .Border.Color = RGB(127, 127, 127) 'Chart Border Line Custom "Grey" Color&lt;br /&gt;
        End With&lt;br /&gt;
    &lt;br /&gt;
        With .Parent&lt;br /&gt;
            .Top = 330 'Range("I27").Top&lt;br /&gt;
            .Left = 490 ' Range("I27").Left&lt;br /&gt;
            .Height = 186&lt;br /&gt;
            .Width = 240&lt;br /&gt;
        End With&lt;br /&gt;
        &lt;br /&gt;
        With ActiveChart.Axes(xlCategory) 'Vertical Axis&lt;br /&gt;
            .HasMajorGridlines = False&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
            &lt;br /&gt;
        With ActiveChart.Axes(xlValue) 'Horizontal Axis&lt;br /&gt;
            .HasMajorGridlines = True&lt;br /&gt;
            .MajorTickMark = xlNone&lt;br /&gt;
        End With&lt;br /&gt;
    End With&lt;br /&gt;
    &lt;br /&gt;
    'Phase 11 ---------------------------------------------------------&lt;br /&gt;
        &lt;br /&gt;
    End With&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/vba/410582/410582/delete-and-replace-all-embedded-charts-in-workbook/</guid>
      <pubDate>Thu, 10 Dec 2009 12:57:01 -0700</pubDate>
      <category>VBA</category>
    </item>
  </channel>
</rss>
