Попытка скопировать вставить ячейки с одного листа на другой? - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь скопировать столбец B из листа под названием «Обзор деятельности» (только заполненные ячейки) и вставить в лист под названием «V & VFile» в столбце E начиная со строки 11 и далее, однако, когда я запускаю макрос, ячейки не копируются икажется, чтобы вставить пустые клетки.

Источник данных использует сопоставление индексов формулы Excel, поэтому он может копировать данные, найденные из формулы Excel?

Sub VVfileFILL()

Dim Lastrow As Double

Lastrow = Worksheets("Activity Overview").Cells(Rows.Count, "B").End(xlUp).Row

ThisWorkbook.Worksheets("Activity Overview").Range("B" & Lastrow).Copy

ThisWorkbook.Sheets("V&V").Range("E" & Rows.Count).End(xlUp).Offset(10, 0).PasteSpecial xlPasteValues

End Sub

1 Ответ

1 голос
/ 04 октября 2019

Не думайте, что в этой ситуации можно избежать петли.

Sub VVfileFILL()

Dim Lastrow As Long, r As Long, n As Long

n = Worksheets("V&V").Range("E" & Rows.Count).End(xlUp).Offset(10, 0).Row

With Worksheets("Activity Overview")
    Lastrow = .Cells(Rows.Count, "B").End(xlUp).Row
    For r = 2 To Lastrow
        If Len(.Cells(r, "B")) > 0 Then 'check not blank
            If WorksheetFunction.CountIf(Worksheets("V&V").Range("E1:E" & n), .Cells(r, "B")) = 0 Then 'check not already in E
                Worksheets("V&V").Cells(n, "E").Value = .Cells(r, "B").Value 'transfer value
                n = n + 1 'add 1 to destination row
            End If
        End If
    Next r
End With

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