title: Copy columns with varying row lengths to another workbook
body: <p>I need to copy columns from A2 to unknown row length to a new workbook. 
  The other workbook has other headers and I need to have Column A without header to Column C with another header and Column J needs to go column A and so on.</p>
  
  <p>I tried this code</p>
  
  <pre><code>Sub SO()
  
  Dim lastRow As Long
  Dim ws1 As Worksheet
  Dim ws2 As Worksheet
  
  Set ws1 = Workbooks("Workbook1.xlsm").Worksheets("Orderheader")
  Set ws2 = Workbooks("Workbook2.xlsm").Worksheets("Sheet1")
  
  lastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
  
  ws1.Range(Cells(2, 1), Cells(lastRow, 1)).Copy
  
  ws2.Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
  
  End Sub
  </code></pre>
  
  <p>It worked fine once and now it doesn't work. It also doesn't seem to work for multiple columns, which I really need. </p>
  
  <p>Now I get an error on "Method 'Range' of object '_Worksheet' failed"</p>
  
  <p>What am I doing wrong? </p>