Измените свою строку Range("D5" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
на Range("D" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
.
Но не нужно ничего выбирать, чтобы получить тот же результат. Эта строка заменит весь ваш код:
Range("D" & Rows.Count).End(xlUp).Offset(1, 0).value = ActiveSheet.Range("D5").value
И следующая строка вставит значение «D5» в другой лист:
Sheets("Charts").Range("D" & Rows.Count).End(xlUp).Offset(1, 0).value = ActiveSheet.Range("D5").value