Some suggestions:
Application.DisplayAlerts = False
You have deactivated the display alerts application in Excel. This means it will not work anymore unless you restart Excel or activated again before the sub method ends. Like this:
Application.DisplayAlerts = True
It's not necessary for your code, due to the simplicity of it. I would deactivate some applications in complex macros where the application could stop it or slow it down.
When working with ranges, you can build it by finding where it starts and where it ends (rows and columns).
Sub move_data()
Dim col_start As Long
Dim last_col As Long
Dim start_row As Long
Dim last_row As Long
'CONFIG
col_start = 2 'set the column where the range starts
With Sheets("Data")
'firstly select the sheet you are working with
'(this is necessary for copying)
Sheets("Data").Select
'this will return the row number for the first cell with content
'moving from top to bottom
start_row = .Cells(1, col_start).End(xlDown).Row
'is the same logic but know instead of cells been in row 1
'rows.count will return the total number of rows in Excel
'so it will explore from bottom up until it finds something.
last_row = .Cells(Rows.Count, col_start).End(xlUp).Row
'now is the same logic, but with columns
last_col = .Cells(start_row, Columns.Count).End(xlToLeft).Column
'so finally you have all the information you need
'to build your range, and it is not hardcoded so
'it will work everytime for different ranges
'this is your range
.Range(Cells(start_row, col_start), Cells(last_row, last_col)).Copy
End With
'now transfer to your target sheet
Sheets("Sheet1").Range("A1").PasteSpecial
End Sub
Here you can see it in action:
