title: VBA Excel: Copying across sheets using alphanumeric range vs cells
body: <p>Bit of a bizarre title, I'll explain what I'm asking.</p>
  
  <p>The use of <code>.Range("A1:B2").copy</code> vs using <code>.Range(Cells(1, 1), Cells(2, 2)).copy</code>.</p>
  
  <p>Both will work, but <em>only</em> when I'm on the actual sheet. If I'm on a different sheet when the macro gets called, then only the alphanumeric range will work.</p>
  
  <p>Actual code in question:</p>
  
  <pre><code>CurrentExtractSheet.Range("A2: AR" &amp; (CurrentExtractCount + 1)).Copy
  PreviousExtractSheet.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  </code></pre>
  
  <p>vs</p>
  
  <pre><code>CurrentExtractSheet.Range(Cells(2, 1), Cells(CurrentExtractCount + 1, 45)).Copy
  PreviousExtractSheet.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  </code></pre>
  
  <p>So what I'm asking is there any way to work around this issue (I prefer using the <code>Cells</code> method rather than alphanumeric ranges)? Does <code>Cells</code> require an activesheet first (also which I don't particularly like)?</p>
  
  <p>Thanks in advance.</p>