Я пытаюсь скопировать данные из листа "Project Summary Data" и вставить их в таблицу на листе "Project Cost Report Summary". Я новичок в макросах, поэтому не уверен, что я делаю здесь не так, но ошибка, похоже, где-то здесь tbl.Range("D7").Paste
.
Мне нужно вставить данные в ячейку «D7» в «Сводном отчете о стоимости проекта», которая технически будет первой строкой данных в таблице (без заголовков) и четвертым столбцом таблицы.
Ошибка, которую я получаю, — это ошибка времени выполнения «1004»: невозможно получить свойство select класса range.
Sub filter_copy_paste()
Dim region As String
Dim Report As Worksheet
Dim Data As Worksheet
Dim count_col As Integer
Dim count_row As Integer
Dim tbl As ListObject
Set Report = ThisWorkbook.Sheets("Project Cost Report Summary")
Set Data = ThisWorkbook.Sheets("Project Summary Data")
region = Data.Range("I1").Text
Set tbl = Report.ListObjects("Table2")
'determine the size of the range
Data.Activate
count_col = WorksheetFunction.CountA(Range("A1", Range("A1").End(xlToRight)))
count_row = WorksheetFunction.CountA(Range("A1", Range("A1").End(xlDown)))
'filter data on Raw Data tab
Data.Range("A1").AutoFilter field:=1, Criteria1:=region
'Copy and Paste to Cost Report
Data.Range(Cells(2, 2), Cells(count_row, count_col)).SpecialCells(xlCellTypeVisible).Copy
tbl.Range("D7").Paste
Application.CutCopyMode = False
'Show Data and Remove the Filter
With Data
.ShowAllData
.AutoFilterMode = False
End With
End Sub