The easiest way is to use
Range.Copy[
^] method:
Sheets(1).Range("E2:E100").Copy Sheets(2).Range("A2")
But i need to
warn you: If you would like to copy data between workbooks, not between sheets in the same workbook, your code is deprived of context.
The proper way to do it is:
ThisWokbook.Worksheets(IndexOrName).Range("E1:E100").Copy Workbooks("IndexOrShortName").Range("A1")
Above line of code copies data from workbook with code to the other workbook.
or even better:
Dim wshsrc as Worksheet, wshdst as Worksheet
On Error Goto Err_Handler
Set wshsrc = ThisWokbook.Worksheets(IndexOrName)
Set wshdst = Workbooks("IndexOrShortName")
wshsrc.Range("E1:E100").Copy wshdst.Range("A1")
Exit_Sub:
On Error Resume Next
Set wshsrc = Nothing
Set wshdst = Nothing
Exit Sub
Err_Handler:
MsgBox Err.Description, vbExclamation, Err.Number
Resume Exit_Sub
I'd suggest to read this:
Visual Basic Coding Conventions[
^]
Excel VBA Performance Coding Best Practices[
^]