title: How to paste the selected range (passed as rng) to the end of the worksheet?
body: <p>The code below is trying to paste the selected range (passed as <code>rng</code>) to the end of the worksheet.</p>
  
  <p>It works if there are two rows already present (A1, A2).</p>
  
  <pre><code>Sub copyRow(rng As Range, ws As Worksheet)
      Dim newRange As Range
      Set newRange = ws.Range("A1").End(xlDown).Offset(1, 0)
      rng.Copy
      newRange.PasteSpecial (xlPasteAll)
  End Sub
  </code></pre>
  
  <p>If A1 and A2 are present and you call this method 100 times, it inserts 100 rows after them.</p>
  
  <p>If no rows are present or only A1, it just overwrites A2. I could see Excel write on the same row (overwrite).</p>
  
  <p>Appears something to do with how xlDown calculates if there are less than 2 rows.</p>