title: VBA delete specific shapes
body: <p>I made a VBA macro for MS powerpoint 2011 on Mac. I'm really not into VBA but managed somehow to let 12 shapes appear on the screen with text but I basically took this here as a starting point. My modifications are probably not the best way to do this but it does the job.</p>
  
  <p>But now I would like to create another macro which lets the shapes, named from <code>Dim Shp As Shape</code> to <code>Dim Shp11 As Shape</code>, disappear or delete once the macro was executed. I tried a lot of things but always got errors. Some help here is highly appreciated..</p>
  
  <p>I was also not able to find out how I can make an Add-In out of a macro in MS PowerPoint 2011 for Mac. Does someone perhaps have an idea? </p>
  
  <p>Thank you so much!</p>
  
  <p><strong><em>Clarification:</em></strong></p>
  
  <p>The idea behind this macro is, to display the color values that should be used in a ppt and I thought it could be nice to toggle these colors on and off - no matter in which slide you are.</p>
  
  <p>So, again: The code looks horrible but i'm not a big programmer ;)</p>
  
  <pre><code>Sub show_ci_colors()
  
  'PURPOSE:Create a Text Box Shape and Reformat it
  'SOURCE: www.TheSpreadsheetGuru.com
  
  Dim Sld As Slide
  Dim Shp As Shape
  Dim Shp1 As Shape
  Dim Shp2 As Shape
  Dim Shp3 As Shape
  Dim Shp4 As Shape
  Dim Shp5 As Shape
  Dim Shp6 As Shape
  Dim Shp7 As Shape
  Dim Shp8 As Shape
  Dim Shp9 As Shape
  Dim Shp10 As Shape
  Dim Shp11 As Shape
  
  'ERROR HANDLING
  If ActivePresentation.Slides.Count = 0 Then
      MsgBox "You do not have any slides in your PowerPoint project."
      Exit Sub
  End If
  
  Set Sld = Application.ActiveWindow.View.Slide
  
  'Create shape with Specified Dimensions and Slide Position
      Set Shp = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=20, Width:=60, Height:=40)
  
      Set Shp1 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=62, Width:=60, Height:=40)
  
      Set Shp2 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=104, Width:=60, Height:=40)
  
      Set Shp3 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=146, Width:=60, Height:=40)
  
      Set Shp4 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=186, Width:=60, Height:=40)
  
      Set Shp5 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=230, Width:=60, Height:=40)
  
      Set Shp6 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=272, Width:=60, Height:=40)
  
      Set Shp7 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=314, Width:=60, Height:=40)
  
      Set Shp8 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=356, Width:=60, Height:=40)
  
      Set Shp9 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=398, Width:=60, Height:=40)
  
      Set Shp10 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=440, Width:=60, Height:=40)
  
      Set Shp11 = Sld.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=-80, Top:=482, Width:=60, Height:=40)
  
  
  
  'FORMAT SHAPE
   'Shape Name
      Shp.Name = "My Header"
  
  'No Shape Border
      Shp.Line.Visible = msoFalse
      Shp.Shadow.Visible = msoFalse
      Shp1.Line.Visible = msoFalse
      Shp1.Shadow.Visible = msoFalse
      Shp2.Line.Visible = msoFalse
      Shp2.Shadow.Visible = msoFalse
      Shp3.Line.Visible = msoFalse
      Shp3.Shadow.Visible = msoFalse
      Shp4.Line.Visible = msoFalse
      Shp4.Shadow.Visible = msoFalse
      Shp5.Line.Visible = msoFalse
      Shp5.Shadow.Visible = msoFalse
      Shp6.Line.Visible = msoFalse
      Shp6.Shadow.Visible = msoFalse
      Shp7.Line.Visible = msoFalse
      Shp7.Shadow.Visible = msoFalse
      Shp8.Line.Visible = msoFalse
      Shp8.Shadow.Visible = msoFalse
      Shp9.Line.Visible = msoFalse
      Shp9.Shadow.Visible = msoFalse
      Shp10.Line.Visible = msoFalse
      Shp10.Shadow.Visible = msoFalse
      Shp11.Line.Visible = msoFalse
      Shp11.Shadow.Visible = msoFalse
  
  'Shape Fill Color
      Shp.Fill.ForeColor.RGB = RGB(4, 110, 151)                   'BLUE 700
      Shp.Fill.BackColor.RGB = RGB(4, 110, 151)                   'BLUE 700
  
      Shp1.Fill.ForeColor.RGB = RGB(6, 166, 227)                  'BLUE 300
      Shp1.Fill.BackColor.RGB = RGB(6, 166, 227)                  'BLUE 300
  
      Shp2.Fill.ForeColor.RGB = RGB(133, 199, 226)               'BLUE 100
      Shp2.Fill.BackColor.RGB = RGB(133, 199, 226)                'BLUE 100
  
      Shp3.Fill.ForeColor.RGB = RGB(23, 152, 131)                 'GREEN
      Shp3.Fill.BackColor.RGB = RGB(23, 152, 131)                 'GREEN
  
      Shp4.Fill.ForeColor.RGB = RGB(254, 201, 5)                     'YELLOW
      Shp4.Fill.BackColor.RGB = RGB(254, 201, 5)                     'YELLOW
  
      Shp5.Fill.ForeColor.RGB = RGB(189, 57, 47)    'RED 700
      Shp5.Fill.BackColor.RGB = RGB(189, 57, 47)    'RED 700
  
      Shp6.Fill.ForeColor.RGB = RGB(225, 92, 80)   'RED 300
      Shp6.Fill.BackColor.RGB = RGB(225, 92, 80)   'RED 300
  
      Shp7.Fill.ForeColor.RGB = RGB(237, 140, 52)   'ORANGE
      Shp7.Fill.BackColor.RGB = RGB(237, 140, 52)   'ORANGE
  
      Shp8.Fill.ForeColor.RGB = RGB(64, 64, 64)   'GREY 700
      Shp8.Fill.BackColor.RGB = RGB(64, 64, 64)   'GREY 700
  
      Shp9.Fill.ForeColor.RGB = RGB(84, 84, 84)   'GREY 600
      Shp9.Fill.BackColor.RGB = RGB(84, 84, 84)   'GREY 600
  
      Shp10.Fill.ForeColor.RGB = RGB(189, 189, 198)   'GREY 300
      Shp10.Fill.BackColor.RGB = RGB(189, 189, 198)   'GREY 300
  
      Shp10.Fill.ForeColor.RGB = RGB(189, 189, 198)   'GREY 300
      Shp10.Fill.BackColor.RGB = RGB(189, 189, 198)   'GREY 300
  
      Shp11.Fill.ForeColor.RGB = RGB(238, 238, 238)   'GREY 200
      Shp11.Fill.BackColor.RGB = RGB(238, 238, 238)   'GREY 200
  
  
  'Shape Text Color
      Shp.TextFrame.TextRange.Font.Color.RGB = RGB(255, 255, 255)
      Shp11.TextFrame.TextRange.Font.Color.RGB = RGB(64, 65, 65)
  
  'Text inside Shape
      Shp.TextFrame.TextRange.Characters.Text = "Blue 700" &amp; Chr(10) &amp; "4 / 110 / 151"
      Shp1.TextFrame.TextRange.Characters.Text = "Blue 300" &amp; Chr(10) &amp; "6 / 166 / 227"
      Shp2.TextFrame.TextRange.Characters.Text = "Blue 100 " &amp; Chr(10) &amp; "133 / 199 / 226"
      Shp3.TextFrame.TextRange.Characters.Text = "Green" &amp; Chr(10) &amp; "23 / 152 /131"
      Shp4.TextFrame.TextRange.Characters.Text = "Yellow" &amp; Chr(10) &amp; "254 / 201 / 5"
      Shp5.TextFrame.TextRange.Characters.Text = "Red 700" &amp; Chr(10) &amp; "189 / 57 / 47"
      Shp6.TextFrame.TextRange.Characters.Text = "Red 300" &amp; Chr(10) &amp; "225 / 92 / 80"
      Shp7.TextFrame.TextRange.Characters.Text = "Orange" &amp; Chr(10) &amp; "237 / 140 52"
      Shp8.TextFrame.TextRange.Characters.Text = "Grey 700" &amp; Chr(10) &amp; "64 / 65 / 65"
      Shp9.TextFrame.TextRange.Characters.Text = "Grey 600" &amp; Chr(10) &amp; "84 / 84 / 84"
      Shp10.TextFrame.TextRange.Characters.Text = "Grey 300" &amp; Chr(10) &amp; "189 / 189 / 189"
      Shp11.TextFrame.TextRange.Characters.Text = "Grey 200" &amp; Chr(10) &amp; "238 / 238 / 238"
  
  
  'Center Align Text
      Shp.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp1.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp2.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp3.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp4.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp5.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp6.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp7.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp8.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp9.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp10.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
      Shp11.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = msoAlignCenter
  
  'Vertically Align Text to Middle
      'Shp.TextFrame.VerticalAnchor = msoAnchorMiddle
  
  'Adjust Font Size
      Shp.TextFrame.TextRange.Font.Size = 8
      Shp1.TextFrame.TextRange.Font.Size = 8
      Shp2.TextFrame.TextRange.Font.Size = 8
      Shp3.TextFrame.TextRange.Font.Size = 8
      Shp4.TextFrame.TextRange.Font.Size = 8
      Shp5.TextFrame.TextRange.Font.Size = 8
      Shp6.TextFrame.TextRange.Font.Size = 8
      Shp7.TextFrame.TextRange.Font.Size = 8
      Shp8.TextFrame.TextRange.Font.Size = 8
      Shp9.TextFrame.TextRange.Font.Size = 8
      Shp10.TextFrame.TextRange.Font.Size = 8
      Shp11.TextFrame.TextRange.Font.Size = 8
  
  
  'FONT STYLE DELETED
  'Adjust Font Style
  ' Shp.TextFrame.TextRange.Font.Name = "Verdana"L
  
  End Sub
  </code></pre>