title: Copy until the last piece of data
body: <p>Is it possible to select a range to copy to the last item?</p>
  
  <pre><code>Sheets("Design").Select
  Range("A1:C200").Copy
  
  'My data only runs until E48 and Im left with 152 blancs.
  </code></pre>
  
  <p>So now it copies from A1 to E200, but how can I edit the above code so it only selects until the last piece of data, which in my case is E48? (this is variable)</p>
  
  <p>Thanks!</p>
  
  <p>@Jean</p>
  
  <p>In my excel sheet I have data running from A1-A18, B is empty and C1-C2. Now I would like to copy all the cells that contain a value. </p>
  
  <pre><code> With Range("A1")
       Range(.Cells(1, 1), .End(xlDown).Cells(20, 3)).Copy
   End With
  </code></pre>
  
  <p>This will copy everything from A1-C20, but I only want A1-A18 and C1-C2 seen as though these contain data. But it needs to be formed in a way that once I have data in B or my range extends, that these get copied too.</p>
  
  <p>Is this perhaps a bit clearer?</p>
  
  <p>About the Copy/Paste situation;</p>
  
  <p>I currently paste using this</p>
  
  <pre><code>appWD.Selection.PasteSpecial ' So it copies the formats too?
  'In your case, do you mean I should do it like this?
  Range(.Cells(1, 1), .End(xlDown).Cells(20, 3)).Copy Destination:=appWD.Selection.PasteSpecial
  </code></pre>