Selected Answer
The basic code you might employ is shown below. It's the same that you would use with the Copy command instead of Cut.
Sheet2.Range("A2:A6").Cut Destination:=Sheet1.Cells(1, 1)
This looks simple, and it is, but there are a few points you need to know. For one, I use the CodeName to identify the sheets. By default, each worksheet will have two names, listed in VBE's project explorer like "Sheet1 (Sheet1)". Originally, both names are the same. In the properties you find them repeated as (Name) and Name. For reasons best (or only) known to Microsoft Name corresponds to (Name) and (Name) to Name. You can change the Name in the properties and that will give the tab a new name. You can also change the (Name) and that has no effect you can see. (Name) is the CodeName which is a property of the worksheet object. Change the Name to "My Sheet". Now you can assign this sheet to a variable:-
Dim Ws As Worksheet
Set Ws = Worksheets("My Sheet")
Debug.Print Ws.Name, Ws.CodeName
This will print the name ("My Sheet") and the CodeName ("Sheet1"). As you see, the CodeName doesn't change when the tab is renamed, and that is its use and purpose. In fact, Set Ws = Worksheets("My Sheet") will create a duplicate of the worksheet object identified by Codename. You can use Sheet1 in exactly the same way as Ws. Excel already prepared the variable for you, and that's how I used it above.
What's the difference between your approach, like, Sheet2.Range("A2:A6") = Sheet1.Range("A2:A6") and mine? To understand this you need to know that Value is the default property of the Range object. The Range object has many properties, of course. So, when you write Range("A2:A6") do you mean the range with all its properties or do you mean the Value of that range? Since your code says nothing Excel will decide.For reasons again known best to Microsoft Excel refuses to decide in this particular case (at least in the current Excel 365) and the code does nothing, not even crash. But the line below will work.
Sheet2.Range("A2:A6").Value = Sheet1.Range("A2:A6").Value
This code is also easier to read. It's clear that the values of one range are copied to another range. Compare that to the Copy/Cut code first above given. There all properties are copied, including formats and formulas, not only the values. (Observe that when you cut or copy =2 + 3 the formula will be moved or copied but when you copy values the Value 5 will appear at the destination).
Further observe that the use of the equal sign (=) requires that the size of source and target range be the same. But when using Cut/Copy and Destination specifying the frist cell of the latter is sufficient.
BTW, do you know the difference between Sheets and Worksheets? If you think the two are the same better think again. Why, for instance, can't you just say
Dim S As Sheet
Set S = Sheets("Sheet1")
??