Скопируйте и вставьте всю строку из одной таблицы в другую таблицу - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь выделить всю строку в table1 и вставить в table5.

Выбран успешно, но копия отсутствует.

Sub Test()
    Dim xRow As Long
    Dim tbl As ListObject
    Dim I As Long
    Dim J As Long

    For I = 1 To ActiveSheet.ListObjects("Table2").ListColumns(1).Range.Count - 1
        MsgBox (ActiveSheet.ListObjects("Table2").DataBodyRange.Cells(I, 1))
        For J = 1 To ActiveSheet.ListObjects("Table3").ListColumns(1).Range.Count - 1
            If ActiveSheet.ListObjects("Table2").DataBodyRange.Cells(I, 1) = ActiveSheet.ListObjects("Table3").DataBodyRange.Cells(J, 1) Then
                ActiveSheet.ListObjects("Table3").ListRows(J).Range.Select
                ActiveSheet.ListObjects("Table3").ListRows(J).Range.Copy
                Worksheets("RECHNUNGS 1").Active
                ActiveSheet.ListObjects("Table13").ListRows(J).Range.Select
                ActiveSheet.Paste
            End If
        Next J
    Next I
End Sub

1 Ответ

0 голосов
/ 25 сентября 2018

Попробуйте выделить неработающий код и заставить его работать.Представьте, что вы хотите скопировать строку 3 в строку 10 слева на правую таблицу:

enter image description here

Это минимальный рабочий код, который бы это делал:

Option Explicit

Sub TestMe()

    With ActiveSheet
        .ListObjects("Table3").ListRows(3).Range.Copy
        .ListObjects("Table13").ListRows(10).Range.PasteSpecial xlPasteAll
    End With
    Application.CutCopyMode = False

End Sub

А потом постарайся на нем опираться.Как видите, он использует .PasteSpecial xlPasteAll, а не вставляет, потому что .Paste является методом рабочего листа.

Учтите это - Как избежать использования Select в Excel VBA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...