title: Variable present in an object
body: <p>Does a variable have to be specifically <em>available</em> (help on terminology?) within a <code>For...Next</code> Statement</p>
  
  <pre><code>Dim ws As Worksheet
  
  Set ws = ActiveSheet
  
      For i = 10 To 13
          ws.Shapes.Range(Array("Rectangle " &amp; i + 24)).Height = 43.5
          ws.Shapes.Range(Array("Rectangle " &amp; i + 24)).Width = 43.5
          ws.Shapes.Range(Array("Rectangle " &amp; i + 24)).Top = 20.25
          ws.Shapes.Range(Array("Rectangle " &amp; i + 24)).Left = 20.25 + 44.5 * i
      Next i
  </code></pre>
  
  <p>When I've attempted to declare the <code>Shape</code> as an <code>Object</code> I was expecting the variable to pass through the object, but it seems to not have:</p>
  
  <pre><code>Dim ws As Worksheet
  Dim shp1 As Object    
  
  Set ws = ActiveSheet
  Set shp1 = ws.Shapes.Range(Array("Rectangle " &amp; i + 24))
  
      For i = 10 To 13
          shp1.Height = 43.5
          shp1.Width = 43.5
          shp1.Top = 20.25
          shp1.Left = 20.25 + 44.5 * i
      Next i
  </code></pre>
  
  <p>Do I need to declare the <code>Shape</code> as an <code>Array</code> or some other type of <code>Object</code>?</p>