Попробуйте этот код, пожалуйста. Он скопирует выбранные значения диапазона в последнюю пустую строку столбца A: A. Я понял это из вашего способа расчета. Но вы сделали это неправильно. Вы скопируете свой диапазон по «A1: A» и последнему диапазону ячеек. Это то, что вы действительно хотите?
Sub testCopyValues()
Dim sh As Worksheet, lastRow As Long, rng As Range
Set rng = Selection
Set sh = Workbooks("Workbook1").Sheets(1)
lastRow = sh.Cells(Rows.count, 1).End(xlUp).row
sh.Range("A" & lastRow + 1).Resize(rng.Rows.count, rng.Columns.count).Value = rng.Value
End Sub
Если вам нужно вставить другой лист той же книги, замените
Set sh = Workbooks("Workbook1").Sheets(1)
на Set sh = ActiveWorkbook.Sheets(1)