Hello DeanP,
Try this version of your macro...
Sub CopySheet()
Dim SourceRange As Range
Dim DestRange As Range
Dim RngBeg As Range
Dim RngEnd As Range
Dim DestSheet As Worksheet
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
' // NOTE: Be sure to fill in the starting cell before running the macro.
Set SourceRange = Sheets("NewData").Range(" ")
' // Start at row 2. First row is assumed to be the header row.
Set RngBeg = SourceRange.Cells(2, 1)
Set RngEnd = Worksheets("NewData").Cells(Rows.Count, SourceRange.Column).End(xlUp)
If RngEnd.Row < RngBeg.Row Then Set RngEnd = RngBeg
Set SourceRange = Worksheets("New Data").Range(RngBeg, RngEnd)
Set DestSheet = Sheets("2018 Details")
Set RngEnd = DestSheet.Cells(Rows.Count, "A").End(xlUp)
Set DestRange = RngEnd.Offset(1, 0)
SourceRange.Copy
DestRange.PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats, _
operation:=xlPasteSpecialOperationNone, _
skipblanks:=False, _
Transpose:=False
With Application
.CutCopyMode = False
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub