Sub CopySelectionValues()
Dim destrange As Range
Dim Lr As Long
Sheet2.Range.ClearContents
If Selection.Areas.Count > 1 Then Exit Sub
Lr = LastRow(Sheets('Sheet2')) + 1
With Selection
Set destrange = Sheets('Sheet2').Range('A' _
& Lr).Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = Selection.Value
End Sub
Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:='*', _
After:=sh.Range('A1'), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function
Private Sub CommandButton1_Click()
CopySelectionValues
End Sub