переопределение полученных строк при вставке строк на целевой лист - PullRequest
0 голосов
/ 16 апреля 2020

Следующий код отлично работает, который был предложен полезным пользователем, но перезаписывает результат (строки) и отображает только последние скопированные строки на листе назначения. Пожалуйста, предложите модификацию в коде ниже:

Sub Selectrows()
    Dim lastrow As Long
    Dim cel As Range
    Dim destSht As Worksheet

    Set destSht = Worksheets("VERTDEST") 

    With Worksheets("VERTALL")
     lastrow = .Range("E" & .Rows.Count).End(xlUp).Row 
     For Each cel In .Range("H4:H" & lastrow).SpecialCells(xlCellTypeFormulas, xlNumbers)
       If cel.Value >= 2.5 Then cel.Offset(-1, 0).Resize(3, 1).EntireRow.Copy Destination:=destSht.Cells(destSht.Rows.Count, 1).End(xlUp).Offset(3)
       Next
    End With
End Sub

Снимок my sheet looks like this

1 Ответ

1 голос
/ 16 апреля 2020

Полагаю, это так, потому что столбец A, кажется, полон пустых ячеек

, следовательно, цель End(xlUp) - столбец D (т. Е. Индекс столбца = 4)

Sub Selectrows()
    Dim lastrow As Long
    Dim cel As Range
    Dim destSht As Worksheet

    Set destSht = Worksheets("VERTDEST")

    With Worksheets("VERTALL")
        lastrow = .Range("E" & .Rows.Count).End(xlUp).row
        For Each cel In .Range("H4:H" & lastrow).SpecialCells(xlCellTypeFormulas, xlNumbers)
            If cel.Value >= 2.5 Then cel.Offset(-1, 0).Resize(3, 1).EntireRow.Copy Destination:=destSht.Cells(destSht.Rows.Count, 4).End(xlUp).Offset(3,-3)
        Next
    End With
End Sub
...