Копирование строки, вставка на новом листе последней строки с данными, затем удаление строки с исходного листа - PullRequest
0 голосов
/ 26 марта 2020

Приведенный ниже код предназначен для копирования строки с одного листа на основе столбца «Y», содержащей «Да», и последующего вставки на заполненный лист. Затем следует удалить предыдущую строку с вкладки источника. Эта работа отлично с первого раза, но сейчас остановилась. При повторном использовании данные удаляются на вкладке «завершено», а затем также на вкладке источника «Реестр проекта». Пожалуйста, кто-нибудь может мне помочь.

Sub CopyClosedProjects()
    Dim wsSource As Worksheet
    Dim wsDestin As Worksheet
    Dim lngDestinRow As Long
    Dim rngSource As Range
    Dim rngCel As Range

    Set wsSource = Sheets("Service Transition Register")
    Set wsDestin = Sheets("Completed Projects")

    With wsSource
        Set rngSource = .Range(.Cells(3, "Y"), .Cells(.Rows.Count, "Y").End(xlUp))
    End With

    For Each rngCel In rngSource
        If rngCel.Value = "Yes" Then
            With wsDestin
                lngDestinRow = .Cells(.Rows.Count, "Y").End(xlUp).Offset(1, 0).Row
                rngCel.EntireRow.Copy Destination:=wsDestin.Cells(lngDestinRow, "A")
            End With
        End If
    Next rngCel


    With wsSource

        Dim rng As Range
        Set rng = ActiveSheet.UsedRange

        For i = rng.Cells.Count To 1 Step -1
            If rng.Item(i).Value = "Yes" Then
               rng.Item(i).EntireRow.Delete
            End If
        Next i
    End With

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