У меня есть строка кода
Range("A1:LastTableCell").Copy Worksheets("PasteSheet").Range("PasteToHere").Value
Я получаю сообщение об ошибке, и я полагаю, что это потому, что я не могу иметь переменные в диапазоне.Например, LastTableCell содержит адрес $ D $ 5, а PasteToHere для примеров - адрес $ C $ 1.Как мне скопировать диапазон от A1 до LastTableCell, а затем вставить по адресу в PasteToHere?
Я очень новичок, поэтому я не совсем уверен, возможно ли это?Я попытался найти его в Google, но я нахожу материал только о копировании обычных адресов, которые не хранятся в переменной.
Вот мой полный код.У меня проблемы с той частью внизу, где мне нужно скопировать и вставить мою работу:
Option Explicit
Sub CopyandPaste2()
'Declaring variables
Dim NonemptyRows As Long
Dim CopyLoopInt As Long
NonemptyRows = 1
CopyLoopInt = 1
Dim SelectionLoopInt As Long
SelectionLoopInt = 1
Dim TableRows As Long
TableRows = 0
Dim TableColumns As Long
TableColumns = 0
Dim LastTableCell
Dim PasteToHere
Worksheets("PasteSheet").Activate
'Need to find first blank row here
Worksheets("PasteSheet").Range("A1").Select
Do While ActiveCell.Value <> Empty
NonemptyRows = NonemptyRows + 1
ActiveCell.Offset(1, 0).Select
Loop
'Need to find row extent of table
Worksheets("TableSheet").Activate
Worksheets("TableSheet").Range("A1").Select
Do While ActiveCell.Value <> Empty
TableRows = TableRows + 1
ActiveCell.Offset(1, 0).Select
Loop
'Need to find column extent of table
Worksheets("TableSheet").Activate
Worksheets("TableSheet").Range("A1").Select
Do While ActiveCell.Value <> Empty
TableColumns = TableColumns + 1
ActiveCell.Offset(0, 1).Select
Loop
'Need to find where to paste to
Worksheets("PasteSheet").Activate
Worksheets("PasteSheet").Range("A1").Select
NonemptyRows = NonemptyRows - 1
ActiveCell.Offset(NonemptyRows, 0).Select
PasteToHere = ActiveCell.Address
MsgBox PasteToHere
'Need to find last and rightmost column of table
Worksheets("TableSheet").Activate
Worksheets("TableSheet").Range("A1").Select
TableRows = TableRows - 1
TableColumns = TableColumns - 1
ActiveCell.Offset(TableRows, TableColumns).Select
LastTableCell = ActiveCell.Address
'Now need to copy and paste the table data
End Sub