Как исправить ошибку при копировании столбца отфильтрованной таблицы объектов списка в другую таблицу? - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть две таблицы объектов списка. Я хочу отфильтровать первый, выбрать там столбец, а затем скопировать значения во вторую таблицу объектов списка на другом листе. Я попытался сделать это с помощью устройства записи макросов, но полученный макрос дает мне эту ошибку: неудачный метод pastespecial класса class.

Что я не прав?

Sub NewMacro()
'
' NewMacro Macro
'

'

    Sheets("Source").Select
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    Range("Source[FirstCol]").Select
    ActiveSheet.ListObjects("Source").Range.AutoFilter Field:=4, _
         Criteria1:="A"
    Selection.Copy
    Sheets("Destination").Select
    ActiveSheet.ListObjects("Destination").Range.End(xlDown).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    Selection.Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

1 Ответ

0 голосов
/ 05 апреля 2019

Измените код в соответствии с вашими требованиями, он будет вставлен в A1 на листе назначения. используйте Offset для удаления заголовка

  Sub FilterAndCopy()
    Dim LastRow As Long


    With Worksheets("Source")
        .UsedRange.AutoFilter
        .UsedRange.AutoFilter field:=4, Criteria1:="A"
         LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
        .UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Copy _
              Destination:=Sheets("Destination").Range("A1")
    End With
    ws.AutoFilterMode = False
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...