Если вы установите переменную, вам не нужно использовать двойные кавычки для ссылки на нее (она не будет работать).
Кроме того, вы можете хранить и использовать имя листа впеременная, как правило, лучше объявить сам лист как переменную и использовать ее (или, по крайней мере, в данном случае наверняка).
Sub CopyAndPrintToReport()
Dim LastRow As Long
Dim printRow As Range
Dim currentSheet As Worksheet
Set currentSheet = ActiveSheet
With Worksheets("Report")
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set printRow = .Range(.Cells(LastRow + 2, "A"), .Cells(LastRow + 2, "A"))
'Set printRow = .Cells(LastRow + 2, "A")
'Set printRow = .Range("A" & LastRow + 2)
End With
currentSheet.Range("A1").Copy printRow
End Sub
Может стоить переименовать переменные во что-то вроде sourceSheet
из currentSheet
, но это происходит со временем.
Я установил printRow
для своего способа выбора диапазона (больше, чем просто одна ячейка), но в комментариях можно увидеть альтернативные варианты того же действия., для одной клетки.
Пожалуйста, дайте мне знать, если я могу помочь в дальнейшем.